UVa - 10048 - Audiophobia ( Floyd 变形 )
2016-12-19 22:12
465 查看
题目大意:从a城市到b城市的路径中,尽可能让一路上的最大噪音最小。
题目思路:设d [ i ][ j ]表示 i 到 j 的最大噪音的最小值。 那么d [ i ][ j ] = min( d[ i ][ j ] ,max( d [ i ][ k ] , d [ k ][ j ]) );
#include<cstdio> #include<cstring> #include<algorithm> #define N 105 #define INF 100000000 using namespace std; int d ; int c,s,q,cnt=0; int a,b,x; void init(){ for(int i=1 ;i<=c ;i++){ for(int j=1 ;j<=c ;j++){ d[i][j] = INF; } } for(int i=1 ;i<=s ;i++){ scanf("%d%d%d",&a,&b,&x); d[a][b] = d[b][a] = x; } } void Floyd(){ for(int k=1 ;k<=c ;k++){ for(int i=1 ;i<=c ;i++){ for(int j=1 ;j<=c ;j++){ d[i][j] = min(d[i][j],max(d[i][k],d[k][j])); } } } } int main(){ while(scanf("%d%d%d",&c,&s,&q)!=EOF){ if(!c&&!s&&!q)break; cnt++; init(); Floyd(); if(cnt>1)printf("\n"); printf("Case #%d\n",cnt); for(int i=0 ;i<q ;i++){ scanf("%d%d",&a,&b); if(d[a][b]==INF){ printf("no path\n"); }else{ printf("%d\n",d[a][b]); } } } return 0; }
相关文章推荐
- uva 10048 - Audiophobia(floyd 的变形)
- UVA 10048 Audiophobia(Floyd变形)
- uva 10048 - Audiophobia(floyd 的变形)
- 噪音恐惧症(Audiophobia,UVa10048)——floyd变形,最大最小化
- UVa 10048 (Floyd变形) Audiophobia
- UVa 10048 Audiophobia / floyd变形
- uva 10048 Audiophobia floyd的变形
- UVA - 10048 Audiophobia floyd的变形
- POJ 3615 Cow Hurdles ,floyd 修改 , UVa 10048 Audiophobia
- Audiophobia - UVa 10048 Floyd
- 10048 - Audiophobia (floyd变形)
- 11.3.4 例题11-5 UVA 247 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)
- uva 10058 Audiophobia floyd变形
- Uva - 10048 - Audiophobia(Floyd)