793 - Network Connections

#include<bits/stdc++.h>
using namespace std;

int par[1000];

int khoj_rep(int r)
{
    if(par[r]==r)
    {
        return r;
    }
    else
    {
        return par[r]=khoj_rep(par[r]);
    }
}

int main()
{
    int N,i,a,b,u,v,successful,unsuccessful,test,x;
    char ch;
    scanf("%d",&test);
    for(x=1;x<=test;x++)
    {
        scanf("%d\n",&N);
        for(i=1; i<=N; i++)
        {
            par[i]=i;
        }

        successful=0;
        unsuccessful=0;

        while(scanf("%c",&ch)==1)
        {

            if(ch=='\n')
            {
                break;
            }
            scanf("%d%d",&a,&b);
            if(ch=='c')
            {
                u=khoj_rep(a);
                v=khoj_rep(b);
                if(u!=v)
                {
                    par[u]=v;
                }
            }
            else if(ch=='q')
            {
                u=khoj_rep(a);
                v=khoj_rep(b);
                if(u==v)
                {
                    successful++;
                }
                else
                {
                    unsuccessful++;
                }
            }
            getchar();
        }
        if(x!=1)
        {
            printf("\n");
        }
        printf("%d,%d\n",successful,unsuccessful);

    }
    return 0;
}

0 comments: (+add yours?)