#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;
}
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?)
Post a Comment