1 条题解
-
0
#include<cstdio> #include<cstring> #include<iostream> using namespace std; int n,a[110][110],f[110]; bool v[110],c[110]; void dfs(int k) { if(v[k]==true) return; v[k]=true; for(int i=1;i<=n;i++) { f[i]+=a[k][i]; if(f[i]>50) { c[i]=true; dfs(i); } } } int main() { int i,j,x,y,z,t; scanf("%d",&t); for(i=1;i<=t;i++) { scanf("%d%d%d",&x,&y,&z); a[x][y]=z;n=max(n,max(x,y)); } for(i=1;i<=n;i++) { memset(v,false,sizeof(v)); memset(c,false,sizeof(c)); memset(f,0,sizeof(f)); dfs(i); for(j=1;j<=n;j++) if(c[j]==true && i!=j) printf("%d %d\n",i,j); } return 0; }
- 1
信息
- ID
- 292
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 165
- 已通过
- 57
- 上传者