POJ1273(最大流入门)
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 70333 | Accepted: 27336 |
Description
Farmer John knows not only how many gallons of water each ditch can transport per minute but also the exact layout of the ditches, which feed out of the pond and into each other and stream in a potentially complex network.
Given all this information, determine the maximum rate at which water can be transported out of the pond and into the stream. For any given ditch, water flows in only one direction, but there might be a way that water can flow in a circle.
Input
Output
Sample Input
- 5 4
- 1 2 40
- 1 4 20
- 2 4 20
- 2 3 30
- 3 4 10
Sample Output
- 50
- Dinic实现最大流.
- #include <cstdio>
- #include <cstring>
- #include <queue>
- #include <algorithm>
- using namespace std;
- const int MAXN=;
- const int INF=0x3f3f3f3f;
- int arc[MAXN][MAXN];
- int n,m;
- int level[MAXN];
- bool bfs(int src,int ter)
- {
- memset(level,-,sizeof(level));
- queue<int> que;
- que.push(src);
- level[src]=;
- while(!que.empty())
- {
- int u=que.front();que.pop();
- for(int i=;i<=n;i++)
- {
- if(level[i]<&&arc[u][i]>)
- {
- que.push(i);
- level[i]=level[u]+;
- }
- }
- }
- if(level[ter]>) return true;
- else return false;
- }
- int dfs(int u,int ter,int f)
- {
- if(u==ter) return f;
- for(int i=;i<=n;i++)
- {
- int d;
- if(arc[u][i]>&&level[i]==level[u]+&&(d=dfs(i,ter,min(arc[u][i],f))))
- {
- arc[u][i]-=d;
- arc[i][u]+=d;
- return d;
- }
- }
- return ;
- }
- int max_flow(int src,int ter)
- {
- int ans=;
- int d;
- while(bfs(src,ter))
- {
- while(d=dfs(src,ter,INF)) ans+=d;
- }
- return ans;
- }
- int main()
- {
- // freopen("input.in","r",stdin);
- while(scanf("%d%d",&m,&n)!=EOF)
- {
- memset(arc,,sizeof(arc));
- for(int i=;i<m;i++)
- {
- int from,to,w;
- scanf("%d%d%d",&from,&to,&w);
- arc[from][to]+=w;
- }
- int res=max_flow(,n);
- printf("%d\n",res);
- }
- return ;
- }
POJ1273(最大流入门)的更多相关文章
- 使用Guava RateLimiter限流入门到深入
前言 在开发高并发系统时有三把利器用来保护系统:缓存.降级和限流 缓存: 缓存的目的是提升系统访问速度和增大系统处理容量 降级: 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问 ...
- JavaIo流入门篇之字节流基本使用。
一 基本知识了解( 字节流, 字符流, byte,bit是啥?) /* java中字节流和字符流之前有接触过,但是一直没有深入的学习和了解. 今天带着几个问题,简单的使用字节流的基本操作. 1 什么 ...
- Java-io流入门到精通详细总结
IO流:★★★★★,用于处理设备上数据. 流:可以理解数据的流动,就是一个数据流.IO流最终要以对象来体现,对象都存在IO包中. 流也进行分类: 1:输入流(读)和输出流(写). 2:因为处理的数据不 ...
- IO流入门-第十三章-File相关
/* java.io.File 1.File和流无关,不能通过该类完成文件的读写 2.File是文件和目录路径名的抽象变现形式. */ import java.io.*; public class F ...
- IO流入门-第十二章-ObjectInputStream_ObjectOutputStream
DataInputStream和DataOutputStream基本用法和方法示例,序列化和反序列化 import java.io.Serializable; //该接口是一个“可序列化”的 ,没有任 ...
- IO流入门-第十一章-PrintStream_PrintWriter
DataInputStream和DataOutputStream基本用法和方法示例 /* java.io.PrintStream:标准的输出流,默认打印到控制台,以字节方式 java.io.Print ...
- IO流入门-第十章-DataInputStream_DataOutputStream
DataInputStream和DataOutputStream基本用法和方法示例 /* java.io.DataOutputStream 数据字节输出流,带着类型写入 可以将内存中的“int i = ...
- IO流入门-第九章-BufferedReader_BufferedWriter复制
利用BufferedReader和BufferedWriter进行复制粘贴 import java.io.*; public class BufferedReader_BufferedWriterCo ...
- IO流入门-第八章-BufferedWriter
BufferedWriter基本用法和方法示例 import java.io.*; public class BufferedWriterTest01 { public static void mai ...
- IO流入门-第七章-BufferedReader
BufferedReader基本用法和方法示例 /* 字节 BufferedInputStream BufferedOutputStream 字符 BufferedReader:带有缓冲区的字符输入流 ...
随机推荐
- ZOJ 2975 Kinds of Fuwas(暴力+排列组合)
Kinds of Fuwas Time Limit: 2 Seconds Memory Limit: 65536 KB In the year 2008, the 29th Olympic ...
- (转)MapReduce Design Patterns(chapter 2 (part 2))(三)
Median and standard deviation 中值和标准差的计算比前面的例子复杂一点.因为这种运算是非关联的,它们不是那么容易的能从combiner中获益.中值是将数据集一分为两等份的数 ...
- flowable ProcessEngine和ProcessEngineConfiguration
ProcessEngine是流程引擎,ProcessEngineConfiguration与前面四个引擎配置有些不同. ProcessEngineConfiguration增加了邮件服务和httpCl ...
- 单机ZooKeeper配置
1.创建zoo.cfg copy D:\zookeeper3.4.6\conf\zoo_sample.cfg zoo.cfg 修改追加如下内容 dataDir=D:/zookeeper3.4.6/da ...
- caffe 细节
batch :http://www.zhihu.com/question/32673260 caffe blog: http://blog.csdn.net/abcjennifer/article/d ...
- python类中self是什么
参考文献:http://www.cnblogs.com/linuxcat/archive/2012/01/05/2220997.html 注: (1)self在定义类的方法时是必须有的. (2)调用时 ...
- 【Python爬虫学习笔记(2)】正则表达式(re模块)相关知识点总结
1. 正则表达式 正则表达式是可以匹配文本片段的模式. 1.1 通配符 正则表达式能够匹配对于一个的字符串,可以使用特殊字符创建这类模式.(图片来自cnblogs) 1.2 特殊字符的转义 由于在正则 ...
- 神器如 dnSpy,无需源码也能修改 .NET 程序
dnSpy 是 0xd4d 开发的 .NET 程序调试神器. 说它是神器真的毫不为过!它能在完全没有源码的情况下即时调试程序,甚至还能修改程序!本文讲向大家介绍如何使用 dnSpy 修改 .NET 程 ...
- 用firefox获取html页面元素的Xpath
Xpath在分析网页尤其是采集固定格式数据时,非常有用,且比正则表达式和首尾截取式更加简便.准确! 工具/原料 FireFox FireBug XpathChecker UserAgentSwit ...
- hadoop入门手册1:hadoop【2.7.1】【多节点】集群配置【必知配置知识1】
问题导读 1.说说你对集群配置的认识?2.集群配置的配置项你了解多少?3.下面内容让你对集群的配置有了什么新的认识? 目的 目的1:这个文档描述了如何安装配置hadoop集群,从几个节点到上千节点.为 ...