#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int p[100005],w[100005],sum[100005];
int a,b,c;
void init(int n)
{
for(int i=0;i<=n;i++)
{
p[i]=i;w[i]=0;
}
}
int find(int x)
{
if(x==p[x]) return x;
int tmp=find(p[x]);
w[x]=(w[x]+w[p[x]])%2;
p[x]=tmp;
return p[x];
}
void combine(int a,int b)
{
int t1=find(a);
int t2=find(b);
if(t1!=t2)
{
p[t2]=t1;
w[t2]=(w[a]+w[b]+1)%2;
}
}
int main()
{
int i,t,n,m,sum;
char ch[10];
while(scanf("%d",&t)!=EOF)
{
while(t--)
{
scanf("%d%d",&n,&m);
init(n);
for(i=0;i<m;i++)
{
scanf("%s",ch);
if(ch[0]=='D')
{
scanf("%d%d",&a,&b);
combine(a,b);
}
else
{
scanf("%d%d",&a,&b);
find(a),find(b);
//printf("%d %d\n",w[a],w[b]);
if(find(a)!=find(b))
{printf("Not sure yet.\n");continue;}
else if(w[a]!=w[b]) printf("In different gangs.\n");
else if(w[a]==w[b]) printf("In the same gang.\n");
}
}
}
}
return 0;
}
poj1703Find them, Catch them
最新推荐文章于 2019-08-10 19:26:37 发布