【Drainage Ditches 草地排水】
来源:互联网 发布:楼天城 知乎 编辑:程序博客网 时间:2024/03/28 17:10
//这篇博文看看就好,2年前写的,不堪入目……
在农夫约翰的农场上,每逢下雨,Bessie最喜欢的三叶草地就积聚了一潭水。这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间。因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没的烦恼(不用担心,雨水会流向附近的一条小溪)。作为一名一流的技师,农夫约翰已经在每条排水沟的一端安上了控制器,这样他可以控制流入排水沟的水流量。
农夫约翰知道每一条排水沟每分钟可以流过的水量,和排水系统的准确布局(起点为水潭而终点为小溪的一张网)。需要注意的是,有些时候从一处到另一处不只有一条排水沟。
根据这些信息,计算从水潭排水到小溪的最大流量。对于给出的每条排水沟,雨水只能沿着一个方向流动,注意可能会出现雨水环形流动的情形。
输入格式:
第1行: 两个用空格分开的整数N (0 <= N <= 200) 和 M (2 <= M <= 200)。N是农夫John已经挖好的排水沟的数量,M是排水沟交叉点的数量。交点1是水潭,交点M是小溪。
第二行到第N+1行: 每行有三个整数,Si, Ei, 和 Ci。Si 和 Ei (1 <= Si, Ei <= M) 指明排水沟两端的交点,雨水从Si 流向Ei。Ci (0 <= Ci <= 10,000,000)是这条排水沟的最大容量。
OUTPUT FORMAT:(file ditch.out)
输出一个整数,即排水的最大流量。
SAMPLE INPUT
5 4
1 2 40
1 4 20
2 4 20
2 3 30
3 4 10
SAMPLE OUTPUT
50
这其实只是一个很裸的网络流……
isap
代码:
#include<cstdio>#define min(a,b)((a)<(b))?(a):(b)int a[201][201],q,w,e,n,m,vd[201],d[201],flow;int aug(int i,int au){ if(i==m)return au; int augc=au,mind=m-1,delta;for(int j=1;j<=m;j++) if(a[i][j]>0){ if(d[i]==d[j]+1){ delta=min(augc,a[i][j]); delta=aug(j,delta); a[i][j]-=delta; a[j][i]+=delta; augc-=delta; if(d[1]>=m)return au-augc; if(!augc)break; } mind=min(mind,d[j]); }if(au==augc){ vd[d[i]]--; if(vd[d[i]]==0)d[i]=m; d[i]=mind+1; vd[d[i]]++;} return au-augc;}int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){ scanf("%d%d%d",&q,&w,&e); a[q][w]+=e;}vd[0]=m;while(d[1]<m) flow+=aug(1,99999999);printf("%d\n",flow);}
- 【Drainage Ditches 草地排水】
- USACO 4.2 草地排水 Drainage Ditches
- P2740 [USACO4.2]草地排水Drainage Ditches
- 【USACO题库】4.2.1 Drainage Ditches草地排水
- 洛谷 P2740 [USACO4.2] 草地排水Drainage Ditches [dinic算法]
- USACO 4.2 Drainage Ditches 草地排水(预流推进)
- 【题解】洛谷P2740 poj1273 [USACO4.2]草地排水Drainage Ditches
- 【USACO4.2】草地排水Drainage Ditches(最大流)
- USACO Training 4.2.1 Drainage Ditches 草地排水 题解与分析<网络流DINIC算法>
- 洛谷 P2740 [USACO4.2] 草地排水Drainage Ditches [Edmonds-Karp算法]
- 网络流Sap+Gap(【USACO题库】4.2.1 Drainage Ditches草地排水 )
- 草地排水
- 【wikioi1993】草地排水
- 【wikioi1993】 草地排水
- codevs1993 草地排水
- USACO草地排水
- code vs 草地排水
- [codevs 1993]草地排水
- 【Network of Schools 校园网】【转】
- 接口继承和实现继承
- 高性能Mysql主从架构的复制原理及配置详解
- 润乾——交叉分析报表样例
- [leetcode刷题系列]Search Insert Position
- 【Drainage Ditches 草地排水】
- UVA 10112 - Myacm Triangles
- 有限状态机(FSM)——《C++编程风格》读书笔记(六)
- QQ空间人气精灵王 QQ空间人气提升
- jquery calendar
- ——printf和fprintf
- K&R书评
- 多重继承——《C++编程风格》读书笔记(七)
- VMWare安装Ubuntu 12.04开启虚拟机的Unity Mode模式