Uvaoj 10048 - Audiophobia(Floyd算法变形)

 

1
/* 2 题目大意: 3 从一个点到达另一个点有多条路径,求这多条路经中最大噪音值的最小值! 、 4 5 思路:最多有100个点,然后又是多次查询,想都不用想,Floyd算法走起! 6 */ 7 #include<iostream> 8 #include<cstring> 9 #include<cstdio> 10 #define INF 0x3f3f3f3f 11 using namespace std; 12 13 int map[105][105]; 14 15 int main(){ 16 int n, m, q; 17 int u, v, d; 18 int cnt=0; 19 scanf("%d%d%d", &n, &m, &q); 20 while((n || m || q)){ 21 memset(map, 0x3f, sizeof(map)); 22 while(m--){ 23 scanf("%d%d%d", &u, &v, &d); 24 map[u][v]=map[v][u]=d; 25 } 26 for(int k=1; k<=n; ++k) 27 for(int i=1; i<=n; ++i) 28 for(int j=1; j<=n; ++j){ 29 int dd=max(map[k][j], map[i][k]); 30 if(map[i][j] > dd) 31 map[i][j] = dd; 32 } 33 printf("Case #%d\n", ++cnt); 34 while(q--){ 35 scanf("%d%d", &u, &v); 36 if(map[u][v]==INF) 37 printf("no path\n"); 38 else 39 printf("%d\n", map[u][v]); 40 } 41 scanf("%d%d%d", &n, &m, &q); 42 if((n || m || q)) 43 printf("\n"); 44 } 45 return 0; 46 }

 

转载于:https://www.cnblogs.com/hujunzheng/p/3898468.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值