cf B. I.O.U.

http://codeforces.com/contest/376/problem/B

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #define maxn 10001
 5 using namespace std;
 6 
 7 int n,m;
 8 int g[110][110];
 9 
10 int main()
11 {
12     while(scanf("%d%d",&n,&m)!=EOF)
13     {
14         memset(g,0,sizeof(g));
15         for(int i=0; i<m; i++)
16         {
17             int a,b,c;
18             scanf("%d%d%d",&a,&b,&c);
19             g[a][b]=c;
20         }
21         for(int i=1; i<=n; i++)
22         {
23             for(int j=1; j<=n; j++)
24             {
25                 for(int k=1; k<=n; k++)
26                 {
27                     if(g[i][j]>0&&g[j][k]>0)
28                     {
29                         int c=min(g[i][j],g[j][k]);
30                         g[i][j]-=c;
31                         g[j][k]-=c;
32                         if(i!=k)
33                         g[i][k]+=c;
34                     }
35                 }
36             }
37         }
38         int ans=0;
39         for(int i=1; i<=n; i++)
40         {
41             for(int j=1; j<=n; j++)
42             {
43                 ans+=g[i][j];
44             }
45         }
46         printf("%d\n",ans);
47     }
48     return 0;
49 }
View Code

 

posted @ 2014-11-08 20:44  null1019  阅读(116)  评论(0编辑  收藏  举报