标签:des style blog http color io os ar for
http://poj.org/problem?id=1273
Description
Input
Output
Sample Input
5 4 1 2 40 1 4 20 2 4 20 2 3 30 3 4 10
Sample Output
50
EK算法:
#include <iostream> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <algorithm> #include <queue> #define inf 0x3f3f3f3f using namespace std; int map[201][201],n,m,v[201],pre[201]; int bfs(int s,int t) { queue<int>q; q.push(s); memset(pre,-1,sizeof(pre)); memset(v,0,sizeof(v)); pre[s]=s; v[s]=1; while(!q.empty()) { int w=q.front(); q.pop(); for(int i=1; i<=n; i++) { if(map[w][i]&&!v[i]) { pre[i]=w; v[i]=1; if(i==t) { return 1; } q.push(i); } } } return 0; } void EK(int s,int t) { int ans=0,minx; while(bfs(s,t)==1) { minx=inf; for(int i=t; i!=s; i=pre[i]) { minx=min(minx,map[pre[i]][i]); } for(int i=t; i!=s; i=pre[i]) { map[pre[i]][i]-=minx; map[i][pre[i]]+=minx; } ans+=minx; } printf("%d\n",ans); return ; } int main() { int xx,yy,zz; while(scanf("%d%d",&m,&n)!=EOF) { memset(map,0,sizeof(map)); while(m--) { scanf("%d%d%d",&xx,&yy,&zz); map[xx][yy]+=zz; } EK(1,n); } return 0; }
dinic算法:
#include <iostream> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <algorithm> #include <queue> #define inf 0x3f3f3f3f using namespace std; int map[201][201],dis[201]; int m,n; int bfs(int s,int t) { memset(dis,-1,sizeof(dis)); dis[s]=0; queue<int>q; q.push(s); while(!q.empty()) { int y=q.front(); q.pop(); for(int i=1; i<=n; i++) { if(dis[i]==-1&&map[y][i]) { dis[i]=dis[y]+1; q.push(i); } } } if(dis[t]>0) return 1; return 0; } int dinic(int s,int maxt) { if(s==n) return maxt; int a,sum=maxt; for(int i=1; i<=n&∑ i++) { if(dis[i]==dis[s]+1&&map[s][i]>0) { a=dinic(i,min(sum,map[s][i])); map[s][i]-=a; map[i][s]+=a; sum-=a; } } return maxt-sum; } int main() { int x,y,z,ans; while(scanf("%d%d",&m,&n)!=EOF) { ans=0; memset(map,0,sizeof(map)); while(m--) { scanf("%d%d%d",&x,&y,&z); map[x][y]+=z; } while(bfs(1,n)==1) { ans+=dinic(1,inf); } printf("%d\n",ans); } return 0; }
POJ1273:Drainage Ditches(最大流入门 EK,dinic算法)
标签:des style blog http color io os ar for
原文地址:http://www.cnblogs.com/zhangmingcheng/p/4009486.html