还是水题,不过我承认代码写的很烂……下面贴出代码,以作纪念。

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 }

 

posted on 2012-07-26 23:01  醉春雨  阅读(135)  评论(0)    收藏  举报