#include<iostream> #include<cstring> #include<algorithm> #include<queue> #include<stdio.h> #include<string.h> #include<cmath> using namespace std; int main() { int n,m,k; cin>>n>>m>>k; int mapp[n+1][n+1]; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(i==j) mapp[i][j]=0; else mapp[i][j]=9999999; int x,y,c; for(int i=0;i<m;i++) { cin>>x>>y>>c; if(mapp[x][y]>c) { mapp[x][y]=c; mapp[y][x]=c; } } for(int w=1;w<=n;w++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(mapp[i][j]>mapp[i][w]+mapp[w][j]) mapp[i][j]=mapp[i][w]+mapp[w][j]; int a,b; while(k--) { cin>>a>>b; cout<<mapp[a][b]<<endl; } return 0; } |
Double click to view unformatted code.