uva 10058 Audiophobia floyd变形

来源:互联网 发布:linux ftp服务开启 编辑:程序博客网 时间:2024/06/15 15:07

题意:一个含有n个结点,m条边的无向图,每条边有一个噪音值,另有n次询问,对每次询问求出起点到终点这路径中最大噪音值最小的噪音值,,有点绕= =。如果没有无法达到,输出no path

#include<cstdio>#include<cstring>const int maxn = 101;const int INF = 1<<30;int d[maxn][maxn];int Max(int a,int b){return a>b?a:b;}int Min(int a,int b){return a<b?a:b;}int main(){int n,m,c,cas=0;while(scanf("%d%d%d",&n,&m,&c)&&(n+m+c)){int u,v,w;for(int i=0;i<=n;i++)for(int j=0;j<=n;j++)d[i][j]=INF;for(int i=0;i<m;i++){scanf("%d%d%d",&u,&v,&w);d[u][v]=d[v][u]=w;}for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){int temp=Max(d[i][k],d[k][j]);d[i][j]=Min(d[i][j],temp);}if(cas!=0)printf("\n");printf("Case #%d\n",++cas);for(int i=0;i<c;i++){scanf("%d%d",&u,&v);if(d[u][v]==INF)printf("no path\n");elseprintf("%d\n",d[u][v]);}}} 

0 0