标签: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