POJ 1459
#include<iostream>
#define MAXN 105
#include"queue"
#define big_num 100000000
using namespace std; int _m[MAXN][MAXN];
int Ford_fulkerson(int n, int s, int t, int &F,int g[][MAXN]);
int main()
{
//freopen("acm.acm","r",stdin);
int point;
int np;
int nc;
int edge;
char left;
char right;
char space;
int flow;
int u;
int v;
int i;
int node;
while(cin>>point>>np>>nc>>edge)
{
memset(_m,,sizeof(_m));
for(i = ; i < edge; ++ i)
{
cin>>left;
cin>>u;
cin>>space;
cin>>v;
cin>>right;
cin>>flow;
++ u;
++ v;
_m[u][v] = flow;
}
for(i = ; i < np; ++ i)
{
cin>>left;
cin>>u;
cin>>right;
cin>>flow;
++ u;
_m[][u] = flow;
}
for(i = ; i < nc; ++ i)
{
cin>>left;
cin>>u;
cin>>right;
cin>>flow;
++ u;
_m[u][point+] = flow;
}
int F = ;
while(Ford_fulkerson(point+,,point + ,F,_m));
cout<<F<<endl;
}
} int find_path(int m, int s,int t,int pre[MAXN],int g[][MAXN])
{
queue<int> q;
int * mark = new int[m];
memset(mark,,sizeof(int)*m);
int x;
mark[s] = ;
int i;
q.push(s);
while(!q.empty())
{
x = q.front();
for(i = ; i < m; i++)
{
if(g[x][i] > && mark[i] == )
{
mark[i] = ;
pre[i] = x;
if(i == t)
return ;
q.push(i);
}
}
q.pop();
}
delete [] mark;
return ;
}
int Ford_fulkerson(int n, int s, int t, int &F,int g[][MAXN])
{
int i;
int min;
int * pre = new int[n];
if(find_path(n,s,t,pre, g) == )
{
delete [] pre;
return ;
}
min = big_num;
for(i = t; i != s; i = pre[i])
if(g[pre[i]][i] < min)
{
min = g[pre[i]][i];
}
for(i = t; i != s; i = pre[i])
{
g[pre[i]][i] -= min;
g[i][pre[i]] += min;
}
F += min;
delete []pre;
return ;
}
关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。

技术网站地址: vmfor.com
POJ 1459的更多相关文章
- poj 1459 多源多汇点最大流
Sample Input 2 1 1 2 (0,1)20 (1,0)10 (0)15 (1)20 7 2 3 13 (0,0)1 (0,1)2 (0,2)5 (1,0)1 (1,2)8 (2,3)1 ...
- POJ 1459 Power Network / HIT 1228 Power Network / UVAlive 2760 Power Network / ZOJ 1734 Power Network / FZU 1161 (网络流,最大流)
POJ 1459 Power Network / HIT 1228 Power Network / UVAlive 2760 Power Network / ZOJ 1734 Power Networ ...
- POJ 1459:Power Network(最大流)
http://poj.org/problem?id=1459 题意:有np个发电站,nc个消费者,m条边,边有容量限制,发电站有产能上限,消费者有需求上限问最大流量. 思路:S和发电站相连,边权是产能 ...
- Poj(1459),最大流,EK算法
题目链接:http://poj.org/problem?id=1459 Power Network Time Limit: 2000MS Memory Limit: 32768K Total Su ...
- poj 1459 Power Network
题目连接 http://poj.org/problem?id=1459 Power Network Description A power network consists of nodes (pow ...
- poj 1459 Power Network(增广路)
题目:http://poj.org/problem?id=1459 题意:有一些发电站,消耗用户和中间线路,求最大流.. 加一个源点,再加一个汇点.. 其实,过程还是不大理解.. #include & ...
- POJ 1459 Power Network 最大流(Edmonds_Karp算法)
题目链接: http://poj.org/problem?id=1459 因为发电站有多个,所以需要一个超级源点,消费者有多个,需要一个超级汇点,这样超级源点到发电站的权值就是发电站的容量,也就是题目 ...
- Power Network POJ - 1459 [网络流模板]
http://poj.org/problem?id=1459 嗯,网络流模板...多源点多汇点的图,超级汇点连发电厂,用户连接超级汇点 Status Accepted Time 391ms Memor ...
- Edmonds-Karp算法,最大流POJ(1459)
题目链接:http://poj.org/problem?id=1459 解题报告: 电力调度站不涉及流的产生和消耗,不用考虑,Edmonds-Karp算法,就是利用剩余网络和增广路来解决,网络中的最大 ...
- POJ 1459 最大流 第二题
http://poj.org/problem?id=1459 也是网络流的基础,只是虚拟出一个源点和终点,对应的生产值和消费值就加到与源点和终点的边上,然后做一次bfs就好了. #include &l ...
随机推荐
- C 简单处理excel 转成 json
引言 工作中常需要处理excel转json问题. 希望这篇博文能简单描述这个问题.并提供一种解决思路.提升感悟. 今天我们处理的事就是为了把 xlsm => json. 一种方式是. 去 goo ...
- Windows Phone动画
从事Windows Phone开发已经有一段时间了,但是一直没有好好的静下心来梳理一下自己这段时间的知识,一是怕自己学问不到家,写不出那些大牛一般的高屋建瓴:二是以 前一直没有写博客的习惯:好了废话不 ...
- JavaScript高级程序设计之window对象
在浏览器中window对象实现了JavaScript中的Global对象: window对象是最顶层的对象: 所有其他全局的东西都可以通过它的属性检索到. ; window.aa = ; // 所有全 ...
- Knockout : 实现复杂的web聊天窗体
公司以前一个同事写的这个聊天的窗体,由于是采用了html拼接的方式,外加处理的时候没有合理的划分职责,导致页面js代码量非常庞大(1500行左右).现在这哥们离职了,苦的是我们剩下的人,不多说,我先去 ...
- mysql查询重复
select * from tablename where id in ( select id from tablename group by id having count(id) ...
- ActiveX控件的基本操作方法以及如何在VS2010下使用控件
在此,小编就介绍下ActiveX控件的基本操作方法以及如何在VS2010下使用控件,我们以一个程序为例, (1) 打开VS2010编译器(右键以管理员身份运行,因为ActiveX需要注册), ...
- 在EDK里面添加ISE IP core的方法
(1)在ISE下,使用core generator,可以得到xilinx的IP的*.v和*.ngc 文件,将这两个文件拷贝出来: (2)在EDK下使用“Create or Import Periphe ...
- Linux 系统Telnet服务
Linux 系统Telnet服务 telnet与ssh相比,安全性能并不高,但是在ssh版本升级或者其他的情况下还是需要开启这一项服务.linux提供服务是由运行在后台的守护进程daemon来执行的, ...
- matlab求距一个数最近的奇(偶)数
int_a = floor(a);minEven = int_a+mod(int_a,2); %最近偶数minOdd = int_a+1-mod(int_a,2); %最近奇数
- mysql使用二进制日志恢复数据
一.恢复到某个二进制文件 1.开启二进制日志 在mysqld的配置节点下添加如下配置 log-bin="E:/Mysql57BinLog/binlog"(windows下的路径,l ...