power network 电网——POJ1459
| Time Limit: 2000MS | Memory Limit: 32768K | |
| Total Submissions: 27282 | Accepted: 14179 |
Description

An example is in figure 1. The label x/y of power station u shows that p(u)=x and pmax(u)=y. The label x/y of consumer u shows that c(u)=x and cmax(u)=y. The label x/y of power transport line (u,v) shows that l(u,v)=x and lmax(u,v)=y. The power consumed is Con=6. Notice that there are other possible states of the network but the value of Con cannot exceed 6.
Input
Output
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 (2,4)7
(3,5)2 (3,6)5 (4,2)7 (4,3)5 (4,5)1 (6,0)5
(0)5 (1)2 (3)2 (4)1 (5)4
Sample Output
15
6
Hint
Source
while(scanf("%d%d%d%d",&n,&np,&nc,&m))
”
while(scanf("%d%d%d%d",&n,&np,&nc,&m)==4)
——————————————————————————————————————————————————————————
1 #include<cstdio>
2 #include<iostream>
3 #include<cstring>
4 #include<vector>
5 #include<queue>
6
7 using namespace std;
8 int n,np,nc,m;
9 int map[105][105];
10 bool vis[105];
11 int lays[105];
12 bool bfs()
13 {
14 queue<int>q;
15 memset(lays,-1,sizeof(lays));
16 q.push(n);
17 lays[n]=0;
18 while(!q.empty())
19 {
20 int u=q.front();
21 q.pop();
22 for(int i=0;i<=n+1;i++)
23 if(map[u][i]>0&&lays[i]==-1)
24 {
25 lays[i]=lays[u]+1;
26 if(i==n+1)return 1;
27 else
28 {
29 q.push(i);
30 }
31 }
32 }
33 return 0;
34 }
35 int dinic()
36 {
37 vector<int>q;
38 int maxf=0;
39 while(bfs())
40 {
41 q.push_back(n);
42 memset(vis,0,sizeof(vis));
43 vis[n]=1;
44 while(!q.empty())
45 {
46 int nd=q.back();
47 if(nd==n+1)
48 {
49 int minx=0x7fffffff,minn;
50 for(int i=1;i<q.size();i++)
51 {
52 int u=q[i-1],v=q[i];
53 if(map[u][v]<minx)
54 {
55 minx=map[u][v];
56 minn=u;
57 }
58 }
59 maxf+=minx;
60 for(int i=1;i<q.size();i++)
61 {
62 int u=q[i-1],v=q[i];
63 map[u][v]-=minx;
64 map[v][u]+=minx;
65 }
66 while(!q.empty()&&q.back()!=minn)
67 {
68 vis[q.back()]=0;
69 q.pop_back();
70 }
71 }
72 else
73 {
74 int i;
75 for(i=0;i<=n+1;i++)
76 {
77 if(map[nd][i]>0&&!vis[i]&&lays[i]==lays[nd]+1)
78 {
79 vis[i]=1;
80 q.push_back(i);
81 break;
82 }
83 }
84 if(i>n+1)q.pop_back();
85 }
86 }
87 }
88 return maxf;
89 }
90 int main()
91 {
92 char s[35];
93 while(scanf("%d%d%d%d",&n,&np,&nc,&m)==4)
94 {
95 memset(map,0,sizeof(map));
96 for(int i=0;i<m;i++)
97 {
98 int u,v,l;
99 scanf("%s",s);
100 sscanf(s,"(%d,%d)%d",&u,&v,&l);
101 map[u][v]+=l;
102 }
103 for(int i=0;i<np;i++)
104 {
105 int v,l;
106 scanf("%s",s);
107 sscanf(s,"(%d)%d",&v,&l);
108 map[n][v]+=l;
109 }
110 for(int i=0;i<nc;i++)
111 {
112 int v,l;
113 scanf("%s",s);
114 sscanf(s,"(%d)%d",&v,&l);
115 map[v][n+1]+=l;
116 }
117 printf("%d\n",dinic());
118 }
119
120 return 0;
121 }
power network 电网——POJ1459的更多相关文章
- POJ1459 Power Network —— 最大流
题目链接:https://vjudge.net/problem/POJ-1459 Power Network Time Limit: 2000MS Memory Limit: 32768K Tot ...
- poj1459 Power Network (多源多汇最大流)
Description A power network consists of nodes (power stations, consumers and dispatchers) connected ...
- POJ1459 Power Network(网络最大流)
Power Network Time Limit: 2000MS Memory Limit: 32768K Total S ...
- POJ1459 - Power Network
原题链接 题意简述 原题看了好几遍才看懂- 给出一个个点,条边的有向图.个点中有个源点,个汇点,每个源点和汇点都有流出上限和流入上限.求最大流. 题解 建一个真 · 源点和一个真 · 汇点.真 · 源 ...
- POJ1459:Power Network(多源点多汇点的最大流)
Power Network Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 31086 Accepted: 15986 题 ...
- 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 ...
- Power Network(网络流最大流 & dinic算法 + 优化)
Power Network Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 24019 Accepted: 12540 D ...
- Power Network 分类: POJ 2015-07-29 13:55 3人阅读 评论(0) 收藏
Power Network Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 24867 Accepted: 12958 Descr ...
- poj 1459 Power Network : 最大网络流 dinic算法实现
点击打开链接 Power Network Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 20903 Accepted: ...
随机推荐
- Arduino IDE 开发ESP-01/ESP8266-01读取DHT11温度湿度传感器
引脚接线: DHT11---ESP8266-01 Singnal--IO2, GND----GND, VCC----VCC DHT11引脚说明: ESP8266-01/ESP8266-01S引脚说明: ...
- C#—连接SQLserver数据库,并执行查询语句代码
//字段ArticleID,ArticleName,ArticleNumber,Unit,Weight,Price,Currency,IsIuggage,IsQuarantine string str ...
- LockSupport的深入浅出
public static void main(String[] args)throws Exception { final Object obj = new Object(); Thread A = ...
- 基于http的netty demo
1.引入netty的pom <dependency> <groupId>io.netty</groupId> <artifactId>netty-all ...
- WebService的开发手段
一.WebService的开发手段 目前有关webService的开发手段有2种 1.JDK开发(jdk必须是1.6及以上版本,因为jdk是在1.6版本中引入并支持webservice开发的); 2. ...
- 九、kafka伪分布式和集群搭建
伪分布式: 1.先将zk启动,如果是在伪分布式下,kafka已经集成了zk nohup /kafka_2.11-0.10.0.1/bin/zookeeper-server-start.sh /kafk ...
- Phoenix-4.14-cdh5.14.2与hbase-1.2.0-cdh5.14.2集成测试
Phoenix介绍: 针对hbase开发的第三方插件,目前已贡献给Apache,顶级项目 Phoenix是构建在HBase上的一个SQL层 可以使用类似于操作mysql的标准sql语句,作为h ...
- Solon rpc 之 SocketD 协议
1. 简介 SocketD 是一种二进制的点对点通信协议,是一种新的网络通信第七层协议.旨在用于分布式应用程序中.从这个意义上讲,SocketD可以是RSocket等其他类似协议的替代方案.它的消息协 ...
- Command1
命令 [-参数][操作对象] ls -la /etc -l 以长格式显示详细信息 -a 显示目录下全部文件(包括隐藏文件) ls 执行权限:所有用户 功能:显示目录下的文件 ls -ald -d 查看 ...
- PHP SDK短信接口
/** * sdk 短信接口 * @param $tel 手机号 * @param $content 短信内容 * @return bool */ public function telSDK($te ...