#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cctype> #include<vector> #include<cmath> using namespace std; int main(void){ int n,m,k; while(cin>>n>>m>>k){ int arr[n+1][n+1]; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(i==j) arr[i][j] = 0; else arr[i][j] = 999999999; } } for(int i=0;i<m;i++){ int a1,a2,a3; cin>>a1>>a2>>a3; arr[a1][a2]=a3; arr[a2][a1]=a3; } for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) for(int k=1;k<=n;k++) if(arr[i][j]+arr[j][k]<arr[i][k]) arr[i][k]=arr[i][j]+arr[j][k]; while(k--){ int t1,t2; cin>>t1>>t2; cout<<arr[t1][t2]<<endl; } } } |
Double click to view unformatted code.