View Code of Problem 3818

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


Back to problem 3818