3396: [Usaco2009 Jan]Total flow 水流

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 179  Solved: 73
[Submit][Status]

Description

 

Input

第1行输入N,之后N行每行描述一条水管,前两个英文字母表示水管的两端(大小写字母是不一样的),后一个整数表示水管的流量,流量不会超过1000.

Output

一个整数,表示总流量.

Sample Input

5
A B 3
B C 3
C D 5
D Z 4
B Z 6

Sample Output

3

HINT

 

Source

Silver

题解:WA了6次再读题才发现大小写字母不一样TT。别的没了,直接上sap模板A之。。

 type
point=^node;
node=record
g,w:longint;
next,anti:point;
end;
var
i,j,k,l,m,n,ans,s,t:longint;
a:array[..] of point;
d,dv:array[..] of longint;
c1,c2,c3:char;
function min(x,y:longint):longint;inline;
begin
if x<y then min:=x else min:=y;
end;
procedure add(x,y,z:longint);inline;
var p:point;
begin
new(p);p^.g:=y;p^.w:=z;p^.next:=a[x];a[x]:=p;
new(p);p^.g:=x;p^.w:=;p^.next:=a[y];a[y]:=p;
a[y]^.anti:=a[x];a[x]^.anti:=a[y];
end;
function dfs(x,flow:longint):longint;inline;
var p:point;k:longint;
begin
if x=t then exit(flow);
dfs:=;p:=a[x];
while p<>nil do
begin
if (P^.w>) and (d[x]=(d[p^.g]+)) then
begin
k:=dfs(p^.g,min(p^.w,flow-dfs));
dec(p^.w,k);
inc(p^.anti^.w,k);
inc(dfs,k);
if dfs=flow then exit;
end;
p:=p^.next;
end;
if d[s]=n then exit;
dec(dv[d[x]]);
if dv[d[x]]= then d[s]:=n;
inc(d[x]);
inc(dv[d[x]]);
end;
function trans(x:char):longint;inline;
begin
case x of
'A'..'Z':exit(ord(x)-ord('A')+);
'a'..'z':exit(ord(x)-ord('a')+);
end;
end;
function getc:longint;inline;
begin
repeat
read(c1);
until (upcase(c1)>='A') and (upcase(c1)<='Z');
exit(trans(c1));
end;
begin
readln(m);n:=;
for i:= to n do a[i]:=nil;
s:=;t:=;
for i:= to m do
begin
j:=getc;k:=getc;readln(l);
add(j,k,l);
end;
fillchar(d,sizeof(d),);
fillchar(dv,sizeof(dv),);
dv[]:=n;
ans:=;
while d[s]<n do inc(ans,dfs(s,maxlongint));
writeln(ans);
end.

最新文章

  1. Jmeter 使用Jmeter与Badboy进行压力测试
  2. vim - Highlight unwanted spaces
  3. C语言编译过程详解
  4. Java--&gt;发牌流程修改版
  5. 立体匹配:关于Middlebury提供的源码的简化使用
  6. Linq操作
  7. javascript删除目标标签
  8. [BZOJ 3669] [Noi2014] 魔法森林 【LCT】
  9. ZOJ3819 ACM-ICPC 2014 亚洲区域赛的比赛现场牡丹江司A称号 Average Score 注册标题
  10. OpenGL杂七杂八
  11. Python中的支持向量机SVM的使用(有实例)
  12. 使用ajax方法实现form表单的提交(附源码)
  13. Gradle学习之基础篇
  14. Python_自定义栈
  15. MVC防止CSRF攻击
  16. php7 闭包调用
  17. CentOS系统安全加固常见方法
  18. nuxt框架Universal和Spa两种render mode的区别
  19. 关于在Intellij IDEA工具中配置热加载问题
  20. CentOS配置源

热门文章

  1. 设计模式之单一职责原则(SRP)
  2. 实现过程全纪录——自己写一个“微信朋友圈”(包括移动端与PC端)
  3. [转载] HTTP协议详解
  4. Win下JDK的安装和简单使用教程
  5. Python单元测试——深入理解unittest
  6. 《Effective Objective-C 2.0》 读后总结
  7. 复制vmware虚拟机后,eth0无法显示问题
  8. MongoDB学习总结(三) —— 常用聚合函数
  9. HTML中三种定位relative,absolute,fixed后,盒子的百分比宽度及位置易错点
  10. PropertyChangeSupport的使用