floyd最外层的k循环在循环到某个数ki时,前面以0到ki-1为中间结点的最短路径已经求出。

所有在内层的双循环之前再用一个双循环记录已找到的最小环的值即可。

要开两个数组存图,一个图就表示原图,不能改变值,另一个用来记录最短路。

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 int g[110][110],n,m,dis[110][110];
 6 const int mmax=1<<30;
 7 int main()
 8 {
 9     int i,j,k;
10     while(scanf("%d%d",&n,&m)!=EOF)
11     {
12         for(i=1;i<=n;i++)
13         {
14             for(j=1;j<=n;j++)
15             {
16                 if(i==j) g[i][j]=0;
17                 else g[i][j]=mmax;
18             }
19         }
20         for(i=1;i<=m;i++)
21         {
22             int a,b,c;
23             scanf("%d%d%d",&a,&b,&c);
24             if(c<g[a][b])
25             g[a][b]=g[b][a]=c;
26         }
27         for(i=1;i<=n;i++)
28             for(j=1;j<=n;j++)
29             dis[i][j]=g[i][j];
30         int mincircle=mmax;
31         for(k=1;k<=n;k++)
32         {
33             for(i=1;i<k;i++)
34             {
35                 for(j=1;j<k;j++)
36                 {
37                     if(g[i][k]<mmax&&g[k][j]<mmax&&dis[j][i]<mmax&&i!=j&&j!=k&&i!=k)
38                         mincircle=min(mincircle,g[i][k]+g[k][j]+dis[j][i]);
39                 }
40             }
41             for(i=1;i<=n;i++)
42             {
43                 for(j=1;j<=n;j++)
44                 {
45                     if(dis[i][k]<mmax&&dis[k][j]<mmax)
46                     dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
47                 }
48             }
49         }
50         if(mincircle<mmax) printf("%d\n",mincircle);
51         else printf("It's impossible.\n");
52     }
53     return 0;
54 }

转载于:https://www.cnblogs.com/mt522/p/5404165.html

hdu1599+floyd最小环相关推荐

  1. Floyd最小环算法

    问题描述: 给你一张无向图,定义环为从i出发到达j然后从j返回i并且所有点都只经过一次(最少为3个点),求所有环当中经过路径最小的环 算法描述: 首先容易想到的是暴力来枚举环,当删除其中一条边ij后再 ...

  2. HDU1599(最小环)

    最小环问题:指的是在一张图中找出一个环,使得这个环的各边的权值之和最小. 方法一:断边法: 1.断开环的一条边(Wij=inf) 2.用Dijstra算法求出i->j的最短路径 3.恢复这条边的 ...

  3. 【HDU - 1599】find the mincost route (Floyd最小环,最短路问题)

    题干: 杭州有N个景区,景区之间有一些双向的路来连接,现在8600想找一条旅游路线,这个路线从A点出发并且最后回到A点,假设经过的路线为V1,V2,....VK,V1,那么必须满足K>2,就是说 ...

  4. 最短路径 floyd最小环 洛谷2738 篱笆回路 网上题解

    /* https://www.luogu.org/blog/quadnucyard/solution-p2738 */ #include <cstdio> #include <cst ...

  5. 2017百度之星资格赛:1001. 度度熊保护村庄(floyd最小环)

    度度熊保护村庄  Accepts: 26  Submissions: 677  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 32768/ ...

  6. Sightseeing trip POJ - 1734 Floyd 最小环

    一.内容 There is a travel agency in Adelton town on Zanzibar island. It has decided to offer its client ...

  7. bzoj 1027: [JSOI2007]合金(floyd最小环)

    1027: [JSOI2007]合金 Time Limit: 4 Sec  Memory Limit: 162 MB Submit: 4136  Solved: 1209 [Submit][Statu ...

  8. 【HDOJ图论题集】【转】

    1 =============================以下是最小生成树+并查集====================================== 2 [HDU] 3 1213 How ...

  9. 一系列图论问题[转]

    =============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...

  10. 【转载】图论 500题——主要为hdu/poj/zoj

    转自--http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...

最新文章

  1. 【数学建模】MATLAB应用实战系列(八十二)-【数学建模】非线性多元回归(附MATLAB代码)
  2. tftp的c语言实现,GitHub - ideawu/tftpx: TFTP server and client implementation in C
  3. 我把上课的机器学习课件发给了国内300多位高校老师
  4. iphone4基本操作
  5. C++ Boost 学习资源列表
  6. bzoj#4555. [Tjoi2016Heoi2016]求和
  7. (转)web.xml 中的listener、 filter、servlet 加载顺序及其详解
  8. ASP.NET2.0学习8--WebPart部件
  9. 计算机如何断开局域网,win7如何禁止局域网用户访问电脑
  10. 小米手机老板,雷军,肯定是假程序员
  11. Kaggle 数据清洗挑战 Day 5 - 处理不一致数据
  12. 开源地图编辑器 MarbleMap,支持Cocos2d-x坐标系
  13. oracle 039 00 039,python+robot+oracle:执行脚本时中文sql报错:UnicodeEncodeError: #039;ascii#039; codec can#...
  14. Address already in use: JVM_Bind:8080类似问题解决方法
  15. 新版标准日本语中级_第五课
  16. 最大的成功是成为自己尊重的人
  17. 1.[QT | QCharts | 动态显示]折线图标题字体大小无法更改
  18. H5响应式网站制作那些事
  19. 启动计算机加载状态监控器,状态监控器显示脱机。
  20. 曝苹果 2022 新款 iPad Pro 将在 9 月或 10 月发布:配备 M2 芯片、无线充电、相机系统升级

热门文章

  1. 淘宝现重大BUG,是程序员报复?官方回应
  2. 世界读书日,给你们送大福利!
  3. 从0开始学习 GitHub 系列之「06.团队合作利器 Branch」
  4. elementUI给树控件中的节点添加图标
  5. Mac Xdebug安装时遇到了Zend Engine API 不一致的问题
  6. Windows下mysql的基础操作
  7. Pychram - 使用介绍
  8. struts转换器详解
  9. ODBC操作excel
  10. 2004-7-1+ 用户控件(动态加载)