459 - Graph Connectivity

#include<stdio.h>
int parent[50];
int check[50];
int khoj_representative(int r)
{
    if(parent[r]==r)
    {
        return r;
    }
    else
    {
        return parent[r]=khoj_representative(parent[r]);
    }
}
int main()
{
    int t,i,j,a,b,c,element,u,v,count,tara_bondhu;
    char ch,ch1,ch2,ch3;
    scanf("%d",&t);
    getchar();
    getchar();
    for(i=1; i<=t; i++)
    {
        if(i!=1)
        {
            printf("\n");
        }
        scanf("%c",&ch);
        element=ch-64;
        getchar();
        for(j=1; j<=element; j++)
        {
            parent[j]=j;
            check[j]=j;
        }
        count=0;
        while(scanf("%c",&ch2)==1)
        {
            if(ch2=='\n')
            {
                break;
            }
            scanf("%c",&ch3);
            getchar();
            b=ch2-64;
            c=ch3-64;
            u=khoj_representative(b);
            v=khoj_representative(c);
            if(u==v)
            {
                tara_bondhu=1;
            }
            else
            {
                parent[u]=v;
            }
        }
        for(j=1; j<=element; j++)
        {
            if(parent[j]==check[j])
            {
                count++;
            }
        }
        printf("%d\n",count);
    }
    return 0;
}

0 comments: (+add yours?)