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

UVA 11015 - 05-2 Rendezvous

#include<bits/stdc++.h>
using namespace std;
main()
{
    long n,m,cs=1;
    while(cin>>n>>m)
    {
        long i,j,k,a,b,wt,mp[100][100];
        string name[110];
        memset(mp,50, sizeof(mp));
        if(n==0&&m==0)
        {
            break;
        }
        for(i=1;i<=n;i++)
        {
            cin>>name[i];
        }
        for(i=1;i<=m;i++)
        {
            cin>>a>>b>>wt;
            mp[a][b]=min(mp[a][b],wt);
            mp[b][a]=min(mp[b][a],wt);
        }
        for(k=1;k<=n;k++)
        {
           for(i=1;i<=n;i++)
           {
               for(j=1;j<=n;j++)
               {
                   mp[i][j]=min(mp[i][j],mp[i][k]+mp[k][j]);
               }
           }
        }
        long sum=0,mn=1000000000,indx=0;
        for(i=1;i<=n;i++)
        {
            sum=0;
            for(j=1;j<=n;j++)
            {
                if(i!=j)
                {
                    sum+=mp[i][j];
                }
            }
            if(sum<mn)
            {
                mn=sum;
                indx=i;
            }
        }
        printf("Case #%ld : ",cs++);
        cout<<name[indx]<<endl;
    }
}

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

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

Factorization with prime Sieve

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