বুধবার, ২৫ অক্টোবর, ২০১৭

UVA 10608 - Friends

#include <bits/stdc++.h>
using namespace std;
long pr[30010];
long find(long r)
{
    if(pr[r]==r)
        return r;
    else
        return pr[r]=find(pr[r]);
}
main()
{
    long ts;
    cin>>ts;
    while(ts--)
    {
        long node,edge,i,u,v,x,y;
        cin>>node>>edge;
        for(i=1;i<=node;i++)
        {
            pr[i]=i;
        }
        for(i=1;i<=edge;i++)
        {
            cin>>u>>v;
            x=find(u);
            y=find(v);
            if(x!=y)
            {
                pr[y]=x;
            }
        }
        long mx=0,ar[30010]={0};
        for(i=1;i<=node;i++)
        {
            x=find(i);
            ar[x]++;
            mx=max(mx,ar[x]);
        }
        cout<<mx<<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); ...