IOIBIN - Các thùng nước
Tác giả: hieult
Ngôn ngữ: C++
#include <stdio.h>
//#include <conio.h>
long g[50001],kq[50001],p,x,y,c,i,t;
long goc(long x)
{
long b;
if(g[x]==x)
return x;
else
{
b=goc(g[x]);
g[x]=b;
return b;
}
}
void update(long x,long y)
{
long gx,gy;
gx=goc(x);
gy=goc(y);
g[gy]=gx;
}
void check(long x,long y)
{
long gx,gy;
t++;
gx=goc(x);
gy=goc(y);
if(gx==gy)
kq[t]=1;
else kq[t]=0;
}
main()
{
for(i=1;i<=10000;i++)
g[i]=i;
scanf("%ld",&p);
for(i=1;i<=p;i++)
{
scanf("%ld %ld %ld",&x,&y,&c);
if(c==1) update(x,y);
else check(x,y);
}
for(i=1;i<=t;i++)
printf("%ld\n",kq[i]);
//getch();
}