UVA 10048 Audiophobia 任意两点的路径上最大的边
题目是要求任意给定两点的的路径上最大的边,最终输出这些最大边中最小的值,也就是求一条路径使得这条路径上最大的边在所有连通两点的路径中最短。
根据Floyd—Warshall算法改造一下就行了。dp[i][j]表示i,j两点的连通路径中最大边的最小值。
#include<stdio.h>
#include<string.h>
#define N 110
#define INF 999999999
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)>(b)?(b):(a)) int dp[N][N];
int main(void)
{
int ct=,c,s,q;
int i,j,k,a,b,d; while(scanf("%d%d%d",&c,&s,&q)&&(c||s||q))
{
ct++;
if(ct!=)
puts("");
printf("Case #%d\n",ct);
memset(dp,,sizeof(dp));
while(s--)
{ scanf("%d%d%d",&a,&b,&d);
dp[a][b]=dp[b][a]=d;
}
for(i=; i<N; i++)
for(j=; j<N; j++)
if(i-j)
if(!dp[i][j])
dp[i][j]=INF;
int temp;
for(k=; k<=c; k++)
for(i=; i<=c; i++)
for(j=; j<=c; j++)
{
temp=max(dp[i][k],dp[k][j]);/*求i和k,k和j连通路径最大边中较大的值。*/
dp[i][j]=min(temp,dp[i][j]);/*将得到的较大值和原来的dp[i][j]进行比较取较小的值更新dp[i][j]*/
}
while(q--)
{
scanf("%d%d",&a,&b);
if(dp[a][b]==INF)
puts("no path");
else
printf("%d\n",dp[a][b]);
}
}
return ;
}
UVA 10048 Audiophobia 任意两点的路径上最大的边的更多相关文章
- UVA - 10048 Audiophobia(Floyd求路径上最大值的最小)
题目&分析: 思路: Floyd变形(见上述紫书分析),根据题目要求对应的改变判断条件来解题. 代码: #include <bits/stdc++.h> #define inf 0 ...
- uva 10048 Audiophobia(最小生成树)
题目链接:10048 - Audiophobia 题目大意:有n个城市,和m条街道,每条街道有一个噪音值,q次去问,从城市a到城市b,路径上分贝值的最大值最小为多少. 解题思路:与uva 10099的 ...
- UVa 10048 - Audiophobia(Floyd变形)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- CF E2 - Daleks' Invasion (medium) (LCA求两点树上路径上的最大边权)
http://codeforces.com/contest/1184/problem/E2 题意:给出一副图,首先求出这幅图的最小生成树 , 然后修改这幅图上不属于最小生成树的边权,使得修改后的图在求 ...
- UVA - 10048 Audiophobia Floyd
思路:套用Floyd算法思想,d(i, j) = min(d(i,j), max(d(i,k), d(k,j)),就能很方便求得任意两点之间的最小噪音路径. AC代码 #include <cst ...
- UVa 10048 Audiophobia【Floyd】
题意:给出一个c个点,s条边组成的无向图,求一点到另一点的路径上最大权值最小的路径,输出这个值 可以将这个 d[i][j]=min(d[i][j],d[i][k]+d[k][j]) 改成 d[i][j ...
- UVA - 10048 Audiophobia (Floyd应用)
题意:求出两点之间所有路径最大权值的最小值. 思路:转变一下Floyd的形式即可: 注意:注意初始化问题,还有UVA奇葩的输出形式. 代码如下: #include<iostream> #i ...
- UVa 10048: Audiophobia
这道题要求我们求出图中的给定的两个节点(一个起点一个终点,但这是无向图)之间所有“路径中最大权值”的最小值,这无疑是动态规划. 我开始时想到根据起点和终点用动态规划直接求结果,但最终由于题中S过大,会 ...
- binary-tree-maximum-path-sum——二叉树任意一条路径上的最大值
Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree. ...
随机推荐
- shell脚本结构示例1
2013年以来自己因为偷懒,少写了很多东西,今年计划把以前积累的总结出来. 先从shell开始写起吧. 干了快3年游戏运维,期间经常会写一些shell本,不少脚本其实有很多可以复用的部分. 按照自己的 ...
- Java json工具类,jackson工具类,ObjectMapper工具类
Java json工具类,jackson工具类,ObjectMapper工具类 >>>>>>>>>>>>>>> ...
- js基础1
一.JavaScript 不同于Java 有三部分组成 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) 二.var 是定义数据前加的前缀 三.弹出 alert( ) ...
- Redis 集群常见问题
Redis集群相关问题 1:远程连接问题 远程连接保护模式下,需要做一些配置.
- 20160322 javaweb 学习笔记--response 重定向
//一般方法 response.setStatus(302); response.setHeader("Location", "/20160314/index.jsp&q ...
- 将文件的编码格式转换为utf-8
背景:项目中有一些其他部门发过来的代码,编码格式有utf-8,也有GBK,而且是散乱在各个文件夹中的,处理起来十分的麻烦.我想把他们都转成统一的utf-8的格式.代码很简单,直接上代码好了. impo ...
- 不允许对索引显式地使用 DROP INDEX,该索引正用于 UNIQUE KEY
[转载]http://blog.csdn.net/w87875251l/article/details/7929657 不允许对索引显式地使用 DROP INDEX,该索引正用于 UNIQUE KEY ...
- Java——有关日期的方法
1.日期转换成String格式化输出: public String getDate() { SimpleDateFormat format = new SimpleDateFormat("y ...
- mkisofs出错解决办法
使用mkisofs遇到错误: genisoimage: Uh oh, I cant find the boot catalog directory 'beini/boot/isolinux'! 使用的 ...
- ibatis+spring+cxf+mysql搭建webservice
首先需必备:mysql.myeclipse6.5.apache-cxf-2.6.2 一.建数据库,库名:cxf_demo:表名:book CREATE DATABASE `cxf_demo` --数 ...