রবিবার, ১৯ ফেব্রুয়ারী, ২০১৭

UVA 10048 - Audiophobia

#include<bits/stdc++.h>
using namespace std;
#define mx 1000000
long mp[200][200],node;
long i,j,k;
long floyd()
{
    for(k=1;k<=node;k++)
    {
        for(i=1;i<=node;i++)
        {
            for(j=1;j<=node;j++)
            {
                mp[i][j]=min(mp[i][j],max(mp[i][k],mp[k][j]));
            }
        }
    }
}
main()
{
    long long edge,query,cs=0,ts=1;
    while(cin>>node>>edge>>query)
    {
        if(node==0&&edge==0&&query==0)
            break;
        if(cs>0)
            cout<<endl;
        cs++;
        for(i=1;i<=100;i++)
        {
            for(j=1;j<=100;j++)
            {
                if(i==j)
                    mp[i][j]==0;
                else
                    mp[i][j]=mx;
            }
        }
        long a,b,wt,sour,desti;
        for(i=1;i<=edge;i++)
        {
            cin>>a>>b>>wt;
            mp[a][b]=wt;
            mp[b][a]=wt;
        }
        floyd();
        printf("Case #%ld\n",ts++);
        for(i=1;i<=query;i++)
        {
            cin>>sour>>desti;
            if(mp[sour][desti]==mx||mp[sour][desti]==0)
            {
                printf("no path\n");
            }
            else
            {
                printf("%ld\n",mp[sour][desti]);
            }
        }
    }
}

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন

Factorization with prime Sieve

vector <int> prime; char sieve[1000009]; int N=1000009; void primeSieve ( ) { sieve[0] = sieve[1] = 1; prime.push_back(2); ...