hdu3549(最大流ford-fulkerson模板)
来源:互联网 发布:discuz怎么调用数据 编辑:程序博客网 时间:2024/05/20 05:30
题意:
给你一个有向图,源点为1,汇点为n,求最大流。
思路:
ford-fulkerson模板
代码:
#include <bits/stdc++.h>using namespace std;const int maxn = 20;const int inf = 0x3f3f3f3f;class edge{public: int to,cap,rev; edge(int t,int c,int r) { to = t; cap = c; rev = r; }};int vis[maxn];vector<edge> g[maxn];void add(int from,int to,int cap){ g[from].push_back(edge(to,cap,g[to].size())); g[to].push_back(edge(from,0,g[from].size()-1));}int dfs(int u,int t,int f){ if(u==t) return f; vis[u] = 1; for(int i = 0;i<g[u].size();i++) { edge &e = g[u][i]; if(!vis[e.to]&&e.cap>0) { int d = dfs(e.to,t,min(f,e.cap)); if(d>0) { e.cap-=d; g[e.to][e.rev].cap+=d; return d; } } } return 0;}int ford_fulkerson(int s,int t){ int ans = 0; while(1) { memset(vis,0,sizeof(vis)); int f = dfs(s,t,inf); if(f==0) return ans; ans += f; } return ans;}int main(){ int t,kase = 1; cin>>t; while(t--) { int n,m; scanf("%d%d",&n,&m); for(int i = 1;i<=n;i++) { g[i].clear(); } for(int i = 0;i<m;i++) { int u,v,val; scanf("%d%d%d",&u,&v,&val); add(u,v,val); } printf("Case %d: %d\n",kase++,ford_fulkerson(1,n)); } return 0;}
阅读全文
1 0
- hdu3549(最大流ford-fulkerson模板)
- HDU3549 - Flow Problem(模板网络流 + Ford-Fulkerson算法)
- HDU3549最大流多路增广(Ford-Fulkerson邻接矩阵)
- 最大流模板 Ford-Fulkerson and Dinic
- 最大流 Ford-Fulkerson算法模板
- Ford-Fulkerson算法模板(最大流)
- Ford-Fulkerson(最大流)
- hdu3549(网络流入门题-最大流的Ford-Fulkerson算法)
- Ford-Fulkerson求解最大流
- 最大流 Ford-Fulkerson算法
- Ford&Fulkerson 最大流问题
- HDU3549 Flow Problem(ford-fulkerson算法)
- hdu3549 最大流模板题
- [ford-fulkerson] 利用残量图求解最大流
- poj 1273 最大流 ford-fulkerson
- hdu 3549最大流Ford-Fulkerson算法
- 最大流问题Ford-Fulkerson方法
- Ford-Fulkerson方法求最大流
- 第三周 建设”顺序表“算法库
- [ArcPy] 初识ArcPy
- HashSet和HashMap的区别
- UGUI结合TexturePacker制作图集
- 剑指offer-重建二叉树
- hdu3549(最大流ford-fulkerson模板)
- 83. Remove Duplicates from Sorted List
- BZOJ[1854][Scoi2010]游戏 匈牙利算法
- SSM项目整合-Maven创建JavaWeb工程
- 凡普金科前端面试题
- 面向对象
- 砝码称重
- 初识Cookie
- 【SDK驱动开发1】中断的使用(以一个dma为例)