View Code of Problem 3818

#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.


Back to problem 3818