标签:des style blog color os io strong for
#include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> #include <queue> #define N 1e9 using namespace std; queue<int>q; int mapp[200][200]; int flow[200][200]; int a[200]; int p[200]; int n,m; int min(int a,int b) { if(a>b)return b; return a; } int max_flow(int be,int en) { int f,u,v; memset(flow,0,sizeof(flow)); f = 0; while(1) { memset(a,0,sizeof(a)); a[be] = N; q.push(be); while(!q.empty()) { u = q.front(); q.pop(); for(v=1;v<=m;v++) { if(!a[v]&&mapp[u][v]>flow[u][v]) { p[v] = u; q.push(v); a[v] = min(a[u],mapp[u][v]-flow[u][v]); } } } if(a[en]==0)break; for(v=en;v!=be;v=p[v]) { flow[p[v]][v]+=a[en]; flow[v][p[v]]-=a[en]; } f+=a[en]; } return f; } int main() { int T; int t = 0; int i; int a,b,c; int flag=0; scanf("%d",&T); while(T--) { flag++; scanf("%d%d",&m,&n); memset(mapp,0,sizeof(mapp)); for(i=0;i<n;i++) { scanf("%d%d%d",&a,&b,&c); mapp[a][b] += c; } t = max_flow(1,m); printf("Case %d: %d\n",flag,t); } return 0; }
Input
Output
Sample Input
2 3 2 1 2 1 2 3 1 3 3 1 2 1 2 3 1 1 3 1
Sample Output
Case 1: 1 Case 2: 2
最大流----F - Flow Problem,布布扣,bubuko.com
标签:des style blog color os io strong for
原文地址:http://blog.csdn.net/fq0909/article/details/38681107