题意:

给一个带权无向图,和一些询问,每次询问两个点之间最大权的最小路径。

分析:

紫书上的题解是错误的,应该是把原算法中的加号变成max即可。但推理过程还是类似的,如果理解了Floyd算法的话,这个应该也很容易理解。

 1 #include <cstdio>
 2 #include <algorithm>
 3 using namespace std;
 4
 5 const int maxn = 100 + 10;
 6 const int INF = 1000000000;
 7 int d[maxn][maxn];
 8
 9 int main()
10 {
11     //freopen("in.txt", "r", stdin);
12     int kase = 0, n, m, q;
13     while(scanf("%d%d%d", &n, &m, &q) == 3 && n)
14     {
15         for(int i = 0; i < n; ++i)
16         {
17             d[i][i] = 0;
18             for(int j = i+1; j < n; ++j)
19                 d[i][j] = d[j][i] = INF;
20         }
21
22         for(int i = 0; i < m; ++i)
23         {
24             int u, v, w;
25             scanf("%d%d%d", &u, &v, &w);
26             u--, v--;
27             d[u][v] = d[v][u] = w;
28         }
29
30         for(int k = 0; k < n; ++k)
31             for(int i = 0; i < n; ++i)
32                 for(int j = 0; j < n; ++j)
33                     if(d[i][k] < INF && d[k][j] < INF)
34                         d[i][j] = min(d[i][j], max(d[i][k], d[k][j]));
35
36         if(kase) printf("\n");
37         printf("Case #%d\n", ++kase);
38         while(q--)
39         {
40             int u, v;
41             scanf("%d%d", &u, &v);
42             u--, v--;
43             if(d[u][v] == INF) puts("no path");
44             else printf("%d\n", d[u][v]);
45         }
46     }
47
48     return 0;
49 }

代码君

转载于:https://www.cnblogs.com/AOQNRMGYXLMV/p/4203905.html

UVa 10048 (Floyd变形) Audiophobia相关推荐

  1. UVA - 10048 Audiophobia(Floyd求路径上最大值的最小)

    题目&分析: 思路: Floyd变形(见上述紫书分析),根据题目要求对应的改变判断条件来解题. 代码: #include <bits/stdc++.h> #define inf 0 ...

  2. nyoj 1248-海岛争霸 //floyd变形

    1248-海岛争霸 内存限制:64MB 时间限制:1000ms 特判: No 通过数:47 提交数:84 难度:3 题目描述: 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒 ...

  3. Uva 10048 - Audiophobia (Floyd变形)

    题目链接 https://vjudge.net/problem/UVA-10048 [题意] 输入一个C个点,S个边(C<=100,S<=1000)的无向图,边权表示该路径上的噪声值,当你 ...

  4. uva 10048 噪音恐惧症 Audiophobia Floyd算法

    ljr的书里说错了,套Floyd算法的模板是,加改为max, min还是min. 还有就是ljr的if(d[i][j] < INF && d[k][j] < INF)明显是 ...

  5. uva 10048 Audiophobia(最小生成树)

    题目链接:10048 - Audiophobia 题目大意:有n个城市,和m条街道,每条街道有一个噪音值,q次去问,从城市a到城市b,路径上分贝值的最大值最小为多少. 解题思路:与uva 10099的 ...

  6. Uva(10048),最短路Floyd

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  7. poj 2240 Arbitrage (floyd 变形)

    http://poj.org/problem?id=2240 floyd 的变形 题意 有n个货币,他们的交换情况m个 例如: 3 USDollar BritishPound FrenchFranc ...

  8. uva 544(kruskal 变形)

    题意:在一张无向带权图中,求a-b的一条路经满足这条路径上的最小的边最大. 思路:仔细一看就能发现这不是最小瓶颈路的变形嘛,最小瓶颈路是让你求最大的边最小,这道题的意思就是反了一下,而且还是单组询问的 ...

  9. POJ 3613 快速幂+Floyd变形(求限制k条路径的最短路)

    题意:       给你一个无向图,然后给了一个起点s和终点e,然后问从s到e的最短路是多少,中途有一个限制,那就是必须走k条边,路径可以反复走. 思路:       感觉很赞的一个题目,据说证明是什 ...

  10. Cow Toll Paths(floyd变形)

    链接:https://ac.nowcoder.com/acm/contest/1077/K 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...

最新文章

  1. 数据挖掘学习笔记--决策树C4.5
  2. Android 6.0 超级简单的权限申请2 (Permission)
  3. 利用Arcgis for javascript API绘制GeoJSON并同时弹出多个Popup
  4. Struts+Spring+Hibernate练习(完整)
  5. 读取扫码枪输入_为何超市“扫码枪”这么强?不输密码钱就没了,现在知道还不晚...
  6. 工控领域的网络攻击 食尸鬼行动深入解读Operation Ghoul
  7. IIS 返回 405 - 不允许用于访问此页的 HTTP 谓词。终极解决办法!!!!
  8. OC与Swift混编
  9. 单片机重要组成部分还有什么,引脚封装分布知识讲解(一)
  10. [翻译] Canvas 不用写代码的动画
  11. 二叉树的7种遍历算法
  12. JPA 中@Enumerated
  13. 农历和阳历的之间的转换
  14. oracle怎么查询关键字,Oracle 搜索关键字
  15. Android切词工具——BreakIterator(1)
  16. vue改变class名字_vue添加class类名
  17. java实现京东云第三方登录
  18. 【转】凡事事必躬亲 是一种恶习
  19. android 读取excel表格数据(暂时只支持xls格式)
  20. SwitchyOmega插件

热门文章

  1. JavaScript中JSON的处理心得
  2. ASP.NET面试题(推荐_有答案)
  3. Linux下python执行Killed
  4. sql 差值_sql面试题重点(持续更新中。。。)
  5. oracle的游标的属性,Oracle 游标属性
  6. static_cast,reinterpret_cast,const_cast,dynamic_cast:
  7. springboot jvm参数
  8. select2多选框无法手动排序问题[转载]
  9. linux 读写大文件内容,linux读写大文件
  10. linux系统redis单机版安装及设置解决DENIED Redis is running in protected mode because protected mode is enabled问题