#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> int main(){ int dis[100][100]; int n,m,k; int a,b,c; while(scanf("%d %d %d",&n,&m,&k)!=EOF){ for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ dis[i][j]=-1; } } for(int i=0;i<m;i++){ scanf("%d %d %d",&a,&b,&c); dis[a][b]=c; } for(int g=0;g<k;g++){ scanf("%d %d",&a,&b); for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(dis[a][i]>=0&&dis[i][j]>=0){ if(dis[a][i]+dis[i][j]>dis[a][j]){ dis[a][j]=dis[a][i]+dis[i][j]; } } } } printf("%d\n",dis[a][b]); } } } |
Double click to view unformatted code.