草地排水_codevs1993_网络流
2016-08-19 23:34
405 查看
题目描述 Description
在农夫约翰的农场上,每逢下雨,Bessie最喜欢的三叶草地就积聚了一潭水。这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间。因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没的烦恼(不用担心,雨水会流向附近的一条小溪)。作为一名一流的技师,农夫约翰已经在每条排水沟的一端安上了控制器,这样他可以控制流入排水沟的水流量。农夫约翰知道每一条排水沟每分钟可以流过的水量,和排水系统的准确布局(起点为水潭而终点为小溪的一张网)。需要注意的是,有些时候从一处到另一处不只有一条排水沟。
根据这些信息,计算从水潭排水到小溪的最大流量。对于给出的每条排水沟,雨水只能沿着一个方向流动,注意可能会出现雨水环形流动的情形。
输入描述 Input Description
第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 Description
输出一个整数,即排水的最大流量。分析 Analysis
c[i][j]表示一条连接i,j的边的剩余流量算是网络流的模板题?寻找增广路然后修改流量,当增广路数量为0表示找到了图的最大流
16-10-23 修正:这里可以用邻接表而且还挺方便的
代码 Code
/* 作者:olahiuj 题目:p1993 草地排水 */ /* ID:wjp13241 PROG:ditch LANG:C++ */ #include <stdio.h> #include <string.h> #define INF 0x7f7f7f7f #define N 201 #define M N*N/2+1 using namespace std; struct edge{int y,w,rev,next;}e[M]; int ls[M],n,m,maxE=0; bool vis ; int min(int x,int y) { return x<y?x:y; } void add(int x,int y,int w) { e[++maxE]=(edge){y,w,maxE+1,ls[x]}; ls[x]=maxE; e[++maxE]=(edge){x,0,maxE-1,ls[y]}; ls[y]=maxE; } int find(int x,int mn) { vis[x]=true; if (x==n) return mn; for (int i=ls[x];i;i=e[i].next) if (!vis[e[i].y]&&e[i].w>0) { int d=find(e[i].y,min(mn,e[i].w)); if (d>0) { e[i].w-=d; e[e[i].rev].w+=d; return d; } } return 0; } int main() { scanf("%d%d",&m,&n); for (int i=1;i<=m;i++) { int x,y,w; scanf("%d%d%d",&x,&y,&w); add(x,y,w); } int ans=0; while (int tmp=find(1,INF)) { memset(vis,false,sizeof(vis)); ans+=tmp; } printf("%d\n",ans); return 0; }
相关文章推荐
- CodeVS 1993 草地排水 E-K网络流初步
- 【codevs1993】草地排水,网络流入门(dinic+ispa)
- 【CODEVS1993】【网络流】草地排水
- 【最大流】【CODEVS】1993 草地排水
- Codevs 1993 草地排水 [dinic] [最大流]
- codevs1993草地排水——第一次写网络流
- dinic codevs 1993 草地排水题解
- [codevs1993]草地排水(最大流裸题)
- codevs1993 草地排水(最大流)
- 【codevs1993】 草地排水
- 【codevs1993】草地排水 最大流
- [codevs1993]草地排水(最大流)
- CODEVS——T 1993 草地排水 USACO
- 【Codevs1993】草地排水(最大流,Dinic)
- codevs1993 草地排水
- codevs 1993 草地排水 USACO
- 【codevs1993】草地排水(最大流)
- code vs 草地排水
- code vs [网络流24题] 餐巾计划问题
- codevs 1993草地排水