hdu 3549 Flow Problem(网络流增广路径主要算法)
来源:互联网 发布:投影仪怎么连接网络 编辑:程序博客网 时间:2024/05/16 17:18
//hdu 3549 Flow Problem(网络流增广路径主要算法)#include<iostream>#include<cstdio>#include<queue>#include<string.h>using namespace std;const int N=17;const int M=1100;const int Inf=100000000;int map[N][N];int pre[N];int n,m;int vis[N];int Min(int a,int b){ if(a<b) { return a; } return b;}void init(){ memset(map,0,sizeof(map));}void readmap(){ int a,b,c; scanf("%d%d",&n,&m); for(int i=0;i<m;i++) { scanf("%d%d%d",&a,&b,&c); map[a][b]+=c; }}//===========网络流增广路径主要算法========================bool bfs()//广搜{ memset(vis,0,sizeof(vis)); memset(pre,0,sizeof(pre)); queue<int> qu; vis[1]=1; qu.push(1); while(!qu.empty()) { int temp=qu.front(); qu.pop(); if(temp==n) return true; for(int i=1;i<=n;i++) { if(!vis[i]&&map[temp][i]!=0) { qu.push(i); pre[i]=temp; vis[i]=1; } } } return false;}int MaxFlow(){ int maxflow=0; while(bfs()) { int minflow=Inf; for(int i=n;i!=1;i=pre[i]) { minflow=Min(minflow,map[pre[i]][i]); } for(int i=n;i!=1;i=pre[i]) { map[pre[i]][i]-=minflow; map[i][pre[i]]+=minflow;//这个要注意 } maxflow+=minflow; } return maxflow;}//==============================================int main(){ int t; scanf("%d",&t); int k=1; while(t--) { init(); readmap(); printf("Case %d: %d\n",k++,MaxFlow()); } return 0;}
0 0
- hdu 3549 Flow Problem(网络流增广路径主要算法)
- hdu 3549 Flow Problem(图论:网络流增广路)
- hdu 3549 Flow Problem 增广路ford-fullkerson算法
- HDU 3549 Flow Problem 最大流 最小增广路 EK算法 传说中的入门算法
- HDU 3549 Flow Problem 最大流 最小增广路 DINIC算法 也是46MS
- hdu 3549 Flow Problem ek算法,网络流
- hdu 3549 Flow Problem EK算法 网络流
- HDU 3549 Flow Problem 最大网络流
- hdu 3549 最大网络流 Flow Problem
- 网络流 HDU 3549 Flow Problem
- hdu 3549 Flow Problem 网络流
- HDU 3549 Flow Problem [网络流]
- HDU--3549 Flow Problem 网络流
- HDU 3549 Flow Problem 网络流 EK
- hdu 3549 Flow Problem【最大流增广路入门模板题】
- HDU 3549 Flow Problem 最大流 最小增广路 SAP算法 从EK算法的753MS降到了46MS
- HDU 3549 Flow Problem(网络流入门题-最大流的Ford-Fulkerson算法)
- HDU 3549Flow Problem(网络流之最大流)
- 人工智能自动开发功能
- 自己动手写图片切换代码(jquery)
- MANIFEST.XML文件ACTIVITY的TASK相关属性 ALWAYSRETAINTASKSTATE作用
- PAT:5-0. 求序列前N项和(15)
- ListView
- hdu 3549 Flow Problem(网络流增广路径主要算法)
- (1)Linux mint 15 环境配置
- Linux-->问题解决-->/dev/mapper/VolGroup-lv_root: unexpected inconsistency; run fsck manually
- PAT:5-1. 约分最简分式(15)
- java重命名
- Java中的集合
- PAT:5-2. 念数字(15)
- Floyd算法(原理|代码实现)
- Web Service中的几个重要术语