1532 Drainage Ditches (网络流入门)
来源:互联网 发布:木工制图软件 编辑:程序博客网 时间:2024/06/05 04:35
裸题很愉快、模版还不是最好的
#include<stdio.h>#include<algorithm>#include<iostream>#include<vector>#include<queue>using namespace std;#define maxn 500struct Edge{ int from,to,cap,flow;};int n,m,s,t;vector<Edge>edges;vector<int> G[maxn];int vis[maxn],d[maxn],cur[maxn];void init(){ edges.clear(); for(int i=0;i<=t;i++){G[i].clear();}}int bfs(){ memset(vis,0,sizeof vis); queue<int>q; q.push(s); d[s]=0; vis[s]=1; while(!q.empty()) { int x=q.front(); q.pop(); for(int i=0;i<G[x].size();++i) { Edge &e=edges[G[x][i]]; if(!vis[e.to]&&e.cap>e.flow) { vis[e.to]=1; d[e.to]=d[x]+1; q.push(e.to); } } } return vis[t];}void addEdge(int from,int to,int cap){ edges.push_back((Edge){from,to,cap,0}); edges.push_back((Edge){to,from,0,0}); m=(int)edges.size(); G[from].push_back(m-2); G[to].push_back(m-1); }int dfs(int x,int a){ if(x==t||a==0) return a; int flow=0,f; for(int& i=cur[x];i<G[x].size();++i) { Edge& e=edges[G[x][i]]; if(d[x]+1==d[e.to]&&(f=dfs(e.to,min(a,e.cap-e.flow)))>0) { e.flow+=f; edges[G[x][i]^1].flow-=f; flow+=f; a-=f; if(a==0) break; } } return flow;}int maxflow(int s,int t){ int flow =0; while(bfs()) { memset(cur,0,sizeof cur); flow+=dfs(s,99999999); } return flow;}int main(){ int tt; while(~scanf("%d%d",&tt,&t)) { s=1; for(int i=0;i<tt;i++) { int from,to,cap; scanf("%d%d%d",&from,&to,&cap); addEdge(from,to,cap); } printf("%d\n",maxflow(s,t)); init(); }}
0 0
- 1532 Drainage Ditches (网络流入门)
- hud 1532 Drainage Ditches + 网络流入门题
- hdu1532 Drainage Ditches (网络流入门)
- HDU 1532 Drainage Ditches 最大流入门
- Hdu 1532 Drainage Ditches - 最大流入门
- POJ 1273 Drainage Ditches 网络流入门2
- POJ - 1273 Drainage Ditches (网络流入门题)
- poj 1273 Drainage Ditches(网络流入门之最大流)
- hdu1532 Drainage Ditches (网络流入门)&(EK算法模板)
- PowerOJ 1679: Drainage Ditches(网络流入门) 最大流模板
- POJ 1273 Drainage Ditches(网络流入门)
- 网络流——最大流入门题目 HDU 1532——Drainage Ditches
- NYOJ 323 && HDU 1532 && POJ 1273 Drainage Ditches (网络流之最大流入门)
- hdu 1532 Drainage Ditches 和hdu 3549 Flow Problem 网络流入门(EK和dinic)
- POJ 1273 || HDU 1532 Drainage Ditches ,最大流入门题
- HDU 1532 Drainage Ditches【最大流入门题, EdmondKarp算法】
- POJ 1273 Drainage Ditches(最大流入门)
- POJ-Drainage Ditches-最大流入门题
- Ember.js 的初学者指南
- PowerDesigner Comment和name相互转化
- jquery-ui-autocomplete的使用
- 【逆向】查看按钮事件与判断跳转的小技巧
- UVALive - 4727 Jump
- 1532 Drainage Ditches (网络流入门)
- Android Bitmap和Canvas学习笔记
- 纯c实现ArrayList
- ubuntu如何分区
- mysqli 预处理语句(prepared)
- ubuntu12.04 64 安装vmware linux 64
- qsort函数应用大全
- seo
- mysql存储过程详解