还是水题,不过我承认代码写的很烂……下面贴出代码,以作纪念。
View Code
1 /*{ 2 ID:jzy3209981 3 PROG:concom 4 LANG:C++ 5 }*/ 6 #include<stdio.h> 7 #include<iostream> 8 #include<string.h> 9 #include<math.h> 10 using namespace std; 11 int control[101][101]; 12 int state[101][101]; 13 int sum[101]; 14 int main() 15 { 16 freopen ("concom.in","r",stdin); 17 freopen ("concom.out","w",stdout); 18 int n,i,first,second,percent,j,k,sign=0; 19 scanf("%d",&n); 20 for(i=0;i<n;i++) 21 { 22 scanf("%d%d%d",&first,&second,&percent); 23 state[first][first]=1; 24 if(percent>50) 25 state[first][second]=1; 26 control[first][second]=percent; 27 } 28 while(sign==0) 29 { 30 sign=1; 31 for(i=1;i<=100;i++) 32 { 33 memset(sum,0,sizeof(sum)); 34 for(j=1;j<=100;j++) 35 { 36 if(state[i][j]==1) 37 { 38 for(k=1;k<=100;k++) 39 sum[k]+=control[j][k]; 40 } 41 } 42 for(j=1;j<=100;j++) 43 { 44 if(sum[j]>50&&state[i][j]!=1) 45 { 46 sign=0; 47 state[i][j]=1; 48 } 49 } 50 } 51 } 52 for(i=1;i<=100;i++) 53 for(j=1;j<=100;j++) 54 if(state[i][j]==1&&i!=j) 55 printf("%d %d\n",i,j); 56 return 0; 57 }

浙公网安备 33010602011771号