Pagini recente » Cod sursa (job #838259) | Cod sursa (job #1307975) | Cod sursa (job #1208946) | Cod sursa (job #201381) | Cod sursa (job #1019766)
#include <cstdio>
using namespace std;
//ifstream fin ("disjoint.in");
//ofstream fout ("disjoint.out");
int n,i,m,rx,ry,f[100001],x,j;
int rad (int t) {
while (f[t]>0)
t=f[t];
return t;
}
int main () {
freopen ("disjoint.in","r",stdin);
freopen ("disjoint.out","w",stdout);
//fin>>n>>m;
scanf ("%d%d", &n,&m);
for (i=1;i<=n;i++)
f[i]=-1;
while (m--) {
//fin>>x>>i>>j;
scanf ("%d%d%d", &x,&i,&j);
rx=rad(i);
ry=rad(j);
if (x==2){
if (rx==ry)
//fout<<"DA\n";
printf ("DA\n");
else
//fout<<"NU\n";
printf ("NU\n");
}else{
if (rx != ry) {
if (f[rx]<=f[ry]) {
f[rx]+=f[ry];
f[ry]=rx;
}else {
f[ry]+=f[rx];
f[rx]=ry;
}
}
}
}
return 0;
}