1048 【图论进阶】截断通路.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1048 【图论进阶】截断通路

【图论进阶】截断通路 Time Limit:10000MS? Memory Limit:65536K Total Submit:8 Accepted:1 Description 截断通路 (sever)   苏联在天才总书记天凯的带领下,迅速发展,一片欣欣向荣之势。经过一个星期的努力,苏联已经兴建起了n多道路,这使得想对其进行轰炸的美帝国感到十分的不爽。好战的美帝国头头LYNN制定了初步的攻击计划:切断苏联两个重镇之间的联系(也就是使这两城之间没有通路)。他们掌握了苏联道路的准确情况,并估算出轰炸一条道路所需的耗费。   现在,请你计算出切断s,t两城之间联系的最少耗费。(双向边) Input   第一行包含三个整数,分别为N,S,T。(N = 100)   接下来的若干行每行包含三个正整数a,b,c。分别表示城市a,b之间有道路相连,摧毁这条道路的耗费为c (c = 100)。 Output   一个整数:最少耗费。 Sample Input sever.in 3 1 3 1 2 1 2 3 2 Sample Output sever.out 1 Source 解法: 直接用最大流求两点间的最少费用。 程序: const maxn=100; var i,j,k,n,s,t,ans,m:longint; a:array[1..maxn,1..maxn]of longint; b:array[1..maxn]of boolean; g,d:array[0..maxn]of longint; found:boolean; procedure dfs(x:longint); var i,temp,md:longint; begin if x=t then begin ans:=ans+m; found:=true; exit end; temp:=m; md:=n-1; for i:=1 to n do if a[x,i]0 then begin if d[i]md then md:=d[i]; if (not b[i]) and (d[i]+1=d[x]) then begin b[i]:=true; if a[x,i]m then m:=a[x,i]; dfs(i); if found then break; m:=temp; b[i]:=false end end; if found then begin dec(a[x,i],m); inc(a[i,x],m) end else begin dec(g[d[x]]); d[x]:=md+1; inc(g[d[x]]) end end; begin readln(n,s,t); while not eoln do begin read(i,j,k); if a[i,j]0 then begin if ka[i,j] then a[i,j]:=k end else a[i,j]:=k; a[j,i]:=a[i,j]; readln; end; for i:=1 to n do a[i,i]:=0; m:=maxlongint; b[s]:=true; g[0]:=n; dfs(s); while d[s]n do begin found:=false; fillchar(b,sizeof(b),false); b[s]:=true; m:=maxlongint; dfs(s) end; writeln(ans); end.

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档