奇怪错误求助
查看原帖
奇怪错误求助
795784
zxh923楼主2024/6/27 13:53

代码:

#include<bits/stdc++.h>
//#define int long long
#define N 105
using namespace std;
int n=100,m,w[N][N];
bool g[N][N];
void dfs(int x,int y){
    if(g[x][y])return;
    g[x][y]=1;
    for(int i=1;i<=n;i++){
        w[x][i]+=w[y][i];
    }
    for(int i=1;i<=n;i++){
        if(g[i][x]){
            dfs(i,y);
        }
    }
    for(int i=1;i<=n;i++){
        if(w[x][i]>50){
            dfs(x,i);
        }
    }
}
signed main(){
    cin>>m;
    for(int i=1;i<=n;i++){
        g[i][i]=1;
    }
    while(m--){
        int a,b,c;
        cin>>a>>b>>c;
        for(int i=1;i<=n;i++){
            if(g[i][a]){
                w[i][b]+=c;
                if(w[i][b]>50)dfs(i,b);
            }
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(i!=j&&g[i][j]){
                cout<<i<<' '<<j<<'\n';
            }
        }
    }
    return 0;
}

只要把注释的那一行取消注释,就在最后一个点挂到第 78157815 行,注释掉就能过。求问为什么?

2024/6/27 13:53
加载中...