codevs 1993 草地排水 USACO
/*Dinic*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#define maxn 210
#define inf 0x7fffffff
using namespace std;
int n,m,num,head[maxn],cur[maxn],dis[maxn];
struct node{
int u,v,flow,pre;
}e[maxn*];
void Add(int from,int to,int t){
e[num].u=from;
e[num].v=to;
e[num].flow=t;
e[num].pre=head[from];
head[from]=num++;
}
void Init(){
scanf("%d%d",&m,&n);
int u,v,t;
memset(head,-,sizeof(head));
for(int i=;i<=m;i++){
scanf("%d%d%d",&u,&v,&t);
Add(u,v,t);Add(v,u,);
}
}
bool Bfs(){
memset(dis,-,sizeof(dis));
queue<int>q;
q.push();dis[]=;
while(!q.empty()){
int k=q.front();q.pop();
for(int i=head[k];i!=-;i=e[i].pre){
int v=e[i].v;
if(dis[v]!=-||!e[i].flow)continue;
q.push(v);dis[v]=dis[k]+;;
}
}
return dis[n]!=-;
}
int Dfs(int now,int lim){
if(!lim||now==n)return lim;
int r=;
for(int &i=cur[now];i!=-;i=e[i].pre){
int v=e[i].v,s=;
if(dis[v]==dis[now]+&&(s=Dfs(v,min(lim,e[i].flow)))){
e[i].flow-=s;r+=s;
e[i^].flow+=s;lim-=s;
}
if(lim==)break;
}
return r;
}
void Dinic(){
int ans=;
while(Bfs()){
memcpy(cur,head,sizeof(head));
ans+=Dfs(,0x7fffffff);
}
printf("%d\n",ans);
}
int main()
{
Init();
Dinic();
return ;
}
codevs 1993 草地排水 USACO的更多相关文章
- Codevs 1993 草地排水
1993 草地排水 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 在农夫约翰的农场上,每逢下雨,Bessie最喜欢的三叶草地 ...
- codevs 1993草地排水
1993 草地排水
- CODEVS——T 1993 草地排水 USACO
http://codevs.cn/problem/1993/ 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 De ...
- 模板题 codevs 1993 草地排水 想学习的请看链接
不能再水的题了. Dinic算法,比EK更快. 想要学习请看链接 https://comzyh.com/blog/archives/568/ 并附上我的模板(其实和comzyh大神的一样) #in ...
- 【CodeVS】1993草地排水
题目描述 Description 在农夫约翰的农场上,每逢下雨,Bessie最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫约翰修建了一套排水 ...
- 【最大流】【CODEVS】1993 草地排水
[算法]网络流-最大流(dinic) [题解]http://www.cnblogs.com/onioncyc/p/6496532.html #include<cstdio> #includ ...
- AC日记——草地排水 codevs 1993
1993 草地排水 USACO 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 在农夫约翰的农场上,每 ...
- - > 网络流(【最大流】草地排水模板题)
1993 草地排水 USACO 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 在农夫约翰的农场上,每 ...
- codevs1993 草地排水(最大流)
1993 草地排水 USACO 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 在农夫约翰的农场上,每逢下雨,Bes ...
随机推荐
- uboot移植参考资料
参考文档:移植u-boot-1.1.6到TQ2440文档.pdf 参考网页:uboot在S3C2440上移植<出自超哥(相广超)>
- iOS: 获取文件路径
iOS: 获取文件路径 // 例如 - (NSString *)applicationDocumentsDirectory { return [NSSearchPathForDirectories ...
- WebApp 中用 hashchange 做路由解析
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Pots
poj3414:http://poj.org/problem?id=3414 题意:给你两个罐子的体积,然后让你只用这两个罐子量出给定k体积的水.题解:这里可以把两个罐子看成是一个二维的图,然后体积的 ...
- Android中SharedPreferences使用方法介绍
一.Android SharedPreferences的简介 SharedPreferences是一种轻型的Android数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用 ...
- 【Linux】鸟哥的Linux私房菜基础学习篇整理(三)
1. gzip [-cdtv#] filename:压缩.参数:-c:将压缩的数据输出到屏幕上,可通过数据重定向进行处理:-d:解压缩的参数:-t:可以用来检验一个压缩文件的一致性,查看文件有无错误: ...
- 「Poetize5」水叮当的舞步
Description 水叮当得到了一块五颜六色的格子形地毯作为生日礼物,更加特别的是,地毯上格子的颜色还能随着踩踏而改变. 为了讨好她的偶像虹猫,水叮当决定在地毯上跳一支轻盈的舞来卖萌~~~ 地毯上 ...
- Unix/Linux运维首选工具Xmanager Enterprise 3.0的使用教程
管理Uinx和Linux服务器的兄弟们应该很熟悉Xmanager,一个窗口可以同时控制上百台Linux和Unix服务器,功能非常强大!^_^请看: manager是一个简单易用的高性能的运行在Wind ...
- C#在父窗口中调用子窗口的过程(无法访问已释放的对象)异常,不存在从对象类型System.Windows.Forms.DateTimePicker到已知的托管提供程序本机类型的映射。
一:C#在父窗口中调用子窗口的过程(无法访问已释放的对象)异常 其实,这个问题与C#的垃圾回收有关.垃圾回收器管 理所有的托管对象,所有需要托管数据的.NET语言(包括 C#)都受运行库的 垃圾回收器 ...
- 高效算法——C 分饼
My birthday is coming up and traditionally I’m serving pie. Not just one pie, no, I have a number N ...