网络流(草地排水)
来源:互联网 发布:linux ant 环境变量 编辑:程序博客网 时间:2024/04/28 17:25
#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm> using namespace std;int c[201][201],f[201][201];int d[1000][2],p[201];int main(){int i,j,k,m,n;int x,y,z,s,t,min;scanf("%d%d",&m,&n);for(i=1;i<=m;i++){scanf("%d%d%d",&x,&y,&z);c[x][y]+=z;}int flag=1;while(flag){flag=0;for(i=1;i<=n;i++)p[i]=1;s=0; t=1;d[1][0]=1; d[1][1]=0;p[1]=0;while(s<t){s++;x=d[s][0];for(i=1;i<=n;i++)if(p[i] && (c[x][i]>f[x][i] || f[i][x]>0)){p[i]=0;d[++t][0]=i;d[t][1]=s;if(i==n){flag=1;break;}}if(flag==1) break;}if(!flag) break;int min=1000000000;i=t;while(d[i][1]){y=d[i][0];x=d[d[i][1]][0];if(c[x][y]>f[x][y] && c[x][y]-f[x][y]<min)min=c[x][y]-f[x][y];if(f[y][x]>0 && f[y][x]<min)min=f[y][x];i=d[i][1];}i=t;while(d[i][1]){y=d[i][0];x=d[d[i][1]][0];if(c[x][y]>f[x][y])f[x][y]+=min;elsef[y][x]-=min;i=d[i][1];}}int ans=0;for(i=2;i<=n;i++)ans+=f[1][i];printf("%d\n",ans);return 0;}
1 0
- 网络流(草地排水)
- #bzoj1084#草地排水(网络流)
- 【CODEVS1993】【网络流】草地排水
- USACO 草地排水 网络流
- 草地排水_codevs1993_网络流
- [USACO4.2]草地排水(网络流最大流模板)
- 草地排水 (码一下自己的网络流板子)
- codevs 草地排水问题 网络流
- 【codevs 1993】草地排水(最大流)
- 【USACO4.2.1】草地排水 网络流 最大流
- CodeVS 1993 草地排水 E-K网络流初步
- codevs1993草地排水——第一次写网络流
- SSL 1403_草地排水_网络流
- 网络流的初步应用[USACO4.2]草地排水
- 【codevs1993】草地排水,网络流入门(dinic+ispa)
- 【codevs1993】草地排水(isap)
- 【USACO4.2】草地排水Drainage Ditches(最大流)
- 草地排水
- 【LeetCode】96. Unique Binary Search Trees
- ASP.NET MVC后台输出js代码
- Linux基础-CP和SCP的学习笔记
- Java 7之基础 - 强引用、弱引用、软引用、虚引用
- 深入理解 vertical-align
- 网络流(草地排水)
- android studio 转为eclipse快捷键后还存在的问题汇总
- 人脸识别(2)--fisherface
- sudo fastboot not found and no permissions
- 达内学习笔记——MFC中数据交换过
- JavaScript中如何给按钮设置隐藏与显示属性
- HDU:2094 产生冠军
- python time\datatime\string直接转换
- 机器学习第一个练手程序 基于决策树的iris数据预测