首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行时错误(SIGKILL)

运行时错误(SIGKILL)
EN

Stack Overflow用户
提问于 2013-01-12 09:37:13
回答 2查看 2K关注 0票数 1

我是一个编程新手,我不确定为什么这段代码会出现这个错误:运行时错误(SIGKILL)。谢谢。代码是朴素的Dijkstra算法。这段代码在成批的测试用例上运行。因此最外层的循环。示例输入:3 3 2 1 2 5 2 3 7 1 3 3 3 1 2 4 1 3 7 2 3 1 1 3 3 1 1 1 2 4 1 3

输出- 12 5否

代码语言:javascript
复制
    #include <cstdio>
int weight [10003][10003];
bool seen [10003];
int  dist[10003];
#define oo 100000000
int main(){
//    freopen("dij.out","w",stdout);
   int rounds;
  scanf("%d",&rounds);
    for(int i=0;i<rounds;i++){
        for(int me=0;me<10003;me++){ //initialising for next batch
            seen[me]=false;
        }
        for(int you=0;you<10003;you++){ // initialising for next batch
            for(int u=0;u<10003;u++){
                weight[you][u]=0;
            }
        }
        int v,k;
        scanf("%d %d",&v,&k);
        for(int j=0;j<k;j++){
            int a,b,c;
            scanf("%d %d %d",&a,&b,&c);
            weight[a][b]=c;
            weight[b][a]=c;
        }
        for(int z=0;z<=v;z++){
            dist[z]=oo;
        }
        int start,end;
        scanf("%d %d",&start,&end);
        dist[start]=0;
        while(true){ //dijkstra's
            int closest=-1;
            for(int bla=1;bla<=v;bla++){
                if(!seen[bla]&&(closest==-1||dist[bla]<dist[closest])){
                    closest=bla;
                }
            }
            if(closest==-1){
                break;
            }
            seen[closest]=true;
            for(int adj=1;adj<=v;adj++){
                if(weight[closest][adj]>0){
                    if(dist[closest]+weight[closest][adj]<dist[adj]){
                        dist[adj]=dist[closest]+weight[closest][adj];
                    }
                }
            }
        }
        if(dist[end]==oo){
            printf("NO\n");
        }else{
            printf("%d\n",dist[end]);
        }
    }
}
EN

回答 2

Stack Overflow用户

发布于 2019-06-20 22:08:35

在执行代码时,您可能没有提供“自定义输入”。这就是发生在我身上的事情。

票数 0
EN

Stack Overflow用户

发布于 2021-08-12 17:21:30

我的代码运行了一个无限循环,它没有提供输出,这就是它抛出SIGKILL错误的原因。我在循环中放置了一个带有随机字符串的print语句,当我再次运行代码时,它会无限地输出该字符串。然后修复了它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14289300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档