রবিবার, ২৯ জানুয়ারী, ২০১৭

UVA 567 - Risk

#include<bits/stdc++.h>
using namespace std;
long source,desti,ans,i,i1;
vector<long>vec[25];
void bfs(long int s,long  int d)
{
    queue< long  >q;
    long  visited[50]={0}, level[50];
    visited[s]=1;
    level[s]=0;
    q.push(s);
    while(!q.empty())
    {
        int u=q.front();
        for(i=0; i<vec[u].size(); i++)
        {
            int v = vec[u][i];
            if(!visited[v])
            {
                visited[v]=1;
                level[v] = level[u]+1;
                q.push(v);
            }
        }
        q.pop();
    }
    printf("%2ld to %2ld: %ld\n",s,d,level[d]);
}
main()
{
    long n,m,cs=1;
    while(scanf("%ld",&n)==1)
    {
        for(i=1;i<=n;i++)
        {
            cin>>m;
            vec[1].push_back(m);
            vec[m].push_back(1);
        }
        for(i=2;i<=19;i++)
        {
            cin>>n;
            for(i1=1;i1<=n;i1++)
                {
                    cin>>m;
                    vec[i].push_back(m);
                    vec[m].push_back(i);
                 }
        }
        long a1;
        cin>>a1;
        printf("Test Set #%ld\n",cs++);
        for(i1=1;i1<=a1;i1++)
        {
            cin>>source>>desti;
            bfs(source,desti);
        }
        cout<<endl;
        for(i=0;i<25;i++)
        {
            vec[i].clear();
        }
    }
}

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

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

Factorization with prime Sieve

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