求最小环(floyd,dijkstra)
来源:互联网 发布:淘宝刷单 青青岛 编辑:程序博客网 时间:2024/05/29 08:28
给出一个无向图,求图中的最小环。
利用floyd f[k,i,j]的性质来求。
program tt;const max=1000000;var n,m,i,j,k,x,y,z,ans:longint; f,g:array[1..100,1..100]of longint;function min(a,b:longint):longint;begin if a<b then min:=a else min:=b;end;begin while not eof do begin readln(n,m); for i:=1 to n do for j:=1 to n do begin f[i,j]:=max; g[i,j]:=max; end; for i:=1 to m do begin readln(x,y,z); if f[x,y]>z then begin f[x,y]:=z; f[y,x]:=z; g[x,y]:=z; g[y,x]:=z; end;end; ans:=max; for k:=1 to n do begin for i:=1 to k-1 do for j:=i+1 to k-1 do//无向图,一半 if (g[i,k]<max)and(g[k,j]<max)and(f[i,j]<max) then ans:=min(ans,f[i,j]+g[i,k]+g[k,j]);//保证是个环 for i:=1 to n do for j:=1 to n do if (f[i,k]<max)and(f[k,j]<max) then f[i,j]:=min(f[i,j],f[i,k]+f[k,j]);//更新end; if ans=max then writeln('No solution.') else writeln(ans); end;end.Dijkstra:
0 0
- 求最小环(floyd,dijkstra)
- floyd求最小环
- floyd求最小环
- floyd求最小环
- floyd求最小环
- FLOYD 求最小环
- floyd求最小环
- floyd求最小环
- Floyd求最小环
- floyd求最小环
- floyd求最小环
- floyd算法求最小环
- Floyd算法求最小环
- floyd求最小环 模板
- hdu1599 floyd 求最小环
- Dijkstra/ floyd/floyd扩展求最小环/Bellman_Ford(权值可正可负)/SPFA(权值可正可负)判断负环
- Floyd最小环求最短路
- ural 1004(floyd 求最小环)
- 第十七周项目4——生日差几天
- Linux一些学习资源
- Mac下下载android4.2源码,进行源码调试
- 使用Intellij Idea 搭建tomcat 6源码分析环境
- JAVA知识点总结(三)成员变量和局部变量的区别
- 求最小环(floyd,dijkstra)
- hdu_1013_A + B Problem II_(模拟)
- 4.2 File
- SQL还原数据库代码
- iOS 动态计算UITableViewCell 高度 以及计算UILable 高度 自定义Cell
- Redhat 6 安装mysql 5.6.22遇到的问题总结
- 谷歌“我的足迹”源码
- HPU1250: HH的米5 【并查集】+【欧拉图】
- DBInputFormat的用法