请问Dangerous Syscall如何处理

#include <bits/stdc++.h>
using namespace std;
int n,dis[1005],a[1005][1005],maxn;
vector<int> d[1005];
void bfs(){
    queue<int> q;
    memset(dis,-1,sizeof(dis));
    q.push(1);
    dis[1] = 0;
    while (!q.empty()){
        int x = q.front();
        q.pop();
        for (int i = 1;i <= n;i++)
            if (a[x][i]){
                q.push(i);
                dis[i] = dis[x] + 1;
                d[dis[i]].push_back(i);
            }
    }
}
int main(){
    cin >> n;
    for (int i = 1;i <= n;i++) for (int j = 1;j <= n;j++) cin >> a[i][j];
    bfs();
    for (int i = 1;i <= 1001;i++) maxn = max(maxn,(int)d[i].size());
    cout << maxn;
    return 0;
}

这段代码他显示Dangerous Syscall和RE我该怎么处理?

1 个赞

《危险语言》

2 个赞

2 个赞

Dangerous Syscall 经常会使会影响电脑的程序 (比如方的小铀锡)

1 个赞

有用的话给个解决方案

1 个赞

dangerous syscall 比较难弄,因为大部分人都很少见到,比如有一次我右边的同学喜提 Judge Failed, 很难弄,但是大部分情况再提交一遍就可以了

Judge Failed评测器抽风了 :rofl:

1 个赞

Judge Failed 确实少见哈哈哈

你这里RE是因为vector动态数组不需要给长度
vector是这么定义的
image

1 个赞

确实,vector给长度会爆掉的,vector不瞎弄是不会爆掉的

所以把这个
vector<int> d[1005];
改成
vector<int> d;
应该就可以了

1 个赞

给解决方案了

1 个赞

我交了N次都没用

1 个赞

Judge Failed是评测器的原因,所以再交几次就可以了
dangerous syscall是你代码的原因

1 个赞

6, 那可能就是代码的问题了,不是测评机死机

1 个赞

666,那应该就是代码的问题了

不对吧,人家定义的是二维的,我就A了

1 个赞

你这是树的宽度那道吧?
这道要用字符串输入
因为cin会读取空格
但是他没有

1 个赞