1 条题解
-
0
C :
#include<stdio.h> #include<string.h> #include<stdlib.h> int a[101][101],b[101],count[101],n; void dfs(int i) { b[i]=1; int j; for(j=1;j<=100;j++) { count[j]+=a[i][j]; } for(j=1;j<=100;j++) { if(i!=j&&!b[j]&&count[j]>=50) { dfs(j); } } } int main() { int i,A,B,C,j; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d%d%d",&A,&B,&C); a[A][B]=C; } for(i=1;i<=100;i++) { memset(b,0,sizeof(b)); memset(count,0,sizeof(count)); dfs(i); for(j=1;j<=100;j++) { if(i!=j&&count[j]>=50) { printf("%d %d\n",i,j); } } } return 0; }
C++ :
#include <iostream> #include <iomanip> #include <algorithm> #include <string> #include <cstring> #include <cstdio> #include <cstdlib> #include <cmath> #include <ctime> using namespace std; int N,gs[105][105]; int main() { int i,j,a,b,c; scanf("%d",&N); for (i=0;i<N;i++) { scanf("%d%d%d",&a,&b,&c); gs[a-1][b-1]=c; } for (i=0;i<N;i++) { for (j=0;j<N;j++) { if (gs[i][j]>50) for (a=0;a<N;a++) gs[i][a]+=gs[j][a]; } } for (i=0;i<N;i++) { for (j=0;j<N;j++) { if (gs[i][j]>50&&i!=j) printf("%d %d\n",i+1,j+1); } } return 0; }
- 1
信息
- ID
- 2660
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者