题意:。
思路:入门经典365。
AC代码:
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <iostream>
#include <vector>
#include <string>
#include <map>
#define INF 0x3f3f3f
using namespace std;
int d[150][150];
int n,m,q;
int main(){
int c=0;
// freopen("2.txt","r",stdin);
while(scanf("%d%d%d",&n,&m,&q)!=EOF &&n &&m &&q){
for(int i=1; i<=n; i++) {
for(int j=1; j<=n; j++){
if(i==j) d[i][j]=0;
else d[i][j]=INF;
}
}
int x,y,dd;
for(int i=1; i<=m; i++){
scanf("%d%d%d",&x,&y,&dd);
d[x][y]=min(d[x][y],dd);
d[y][x]=d[x][y];
}
for(int k=1; k<=n; k++){
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++){
if(d[i][k]<INF && d[k][j]<INF)
d[i][j]=min(d[i][j],max(d[i][k],d[k][j]));
}
}
}
if(c) printf("\n");
printf("Case #%d\n", ++c);
while(q--){
scanf("%d%d",&x,&y);
if(d[x][y]==INF) cout << "no path" <<endl;
else cout << d[x][y]<< endl;
}
}
return 0;
}