UVA 10048 Audiophobia(Floyd)
来源:互联网 发布:济南新风向网络 编辑:程序博客网 时间:2024/05/24 00:55
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=989
思路:FLoyd过程中将加变为取max,取min变为取max。即对于两点i、j,将k作为中转点,取i->k,k->j最大值,作为最长边,取所有i->k->j最小值,作为i、j两点的最大边权值的最小值。
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int maxn=100+50;const int INF=0x3f3f3f3f;int n,m,q;int g[maxn][maxn];void Floyd(){ for(int k=1;k<=n;k++) { for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) g[i][j]=min(g[i][j],max(g[i][k],g[k][j])); } }}int main(){ int cas=0; while(scanf("%d%d%d",&n,&m,&q)!=EOF&&n) { cas++; if(cas!=1) printf("\n"); printf("Case #%d\n",cas); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) g[i][j]=INF; for(int i=0;i<m;i++) { int x,y,w; scanf("%d%d%d",&x,&y,&w); g[x][y]=w,g[y][x]=w; } Floyd(); for(int i=0;i<q;i++) { int x,y; scanf("%d%d",&x,&y); if(g[x][y]>=INF) printf("no path\n"); else printf("%d\n",g[x][y]); } } return 0;}
0 0
- uva 10048 Audiophobia(floyd)
- UVA 10048 Audiophobia(Floyd)
- Uva - 10048 - Audiophobia(Floyd)
- UVA 10048 - Audiophobia(floyd)
- Audiophobia - UVa 10048 Floyd
- Uva 10048 Audiophobia 【floyd】
- UVa--10048 Audiophobia(floyd)
- uva 10048 - Audiophobia(floyd 的变形)
- UVA - 10048 Audiophobia (floyd+dp)
- UVa 10048 - Audiophobia(floyd算法)
- uva 10048 - Audiophobia(floyd 的变形)
- UVA 10048 Audiophobia(Floyd变形)
- UVa 10048 - Audiophobia(Floyd, Kruskal)
- UVa 10048 - Audiophobia 简单Floyd
- UVa 10048 Audiophobia / floyd变形
- UVA 10048 Audiophobia(Floyd算法)
- UVa - 10048 - Audiophobia ( Floyd 变形 )
- 10048 - Audiophobia (Floyd)
- IE下用JavaScript将HTML导出为Word、Pdf
- There is no getter for property named 'account' in 'class java.lang.String'
- Swift 集合类
- 位图图像原图修改
- spring+mongodb 文件上传与下载实现
- UVA 10048 Audiophobia(Floyd)
- Mybatis简介(开源O/R映射框架)
- oracle的一些操作
- 103.NYOJ--DP--拦截导弹
- Android 热修复 Tinker接入及源码浅析
- Android 万能刷新控件
- C语言专题精讲篇_4.7.存储类&作用域&生命周期&链接属性
- [南阳OJ-No.22]素数求和问题|现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。
- 什么是对象,为什么要面向对象,怎么才能面向对象?