Pagini recente » Cod sursa (job #655730) | Cod sursa (job #3210336) | Cod sursa (job #1062234) | Cod sursa (job #1198556) | Cod sursa (job #273185)
Cod sursa(job #273185)
#include<stdio.h>
#define N 100002
int n, m, x, y, c, tata[N], i, j, k, w;
void citire();
int main(){
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
citire();
return 0;
}
void citire(){
scanf("%d %d", &n, &m);
for (; m; m--){
scanf("%d %d %d", &c, &x, &y);
if (c == 1){
for (i = x; tata[i] != 0; i = tata[i]);
for (j = y; tata[j] != 0; j = tata[j]);
tata[i] = j;
}
else{
for (i = x; tata[i] != 0; i = tata[i]);
for (j = y; tata[j] != 0; j = tata[j]);
if (i == j){
printf("DA\n");
if (tata[x] > 0)
for (k = x; tata[k] != i; k = w){
w = tata[k]; tata[k] = i;
}
if (tata[y] > 0)
for (k = y; tata[k] != i; k = w){
w = tata[k]; tata[k] = i;
}
}
else{
if (tata[x] > 0)
for (k = x; tata[k] != i; k = w){
w = tata[k]; tata[k] = i;
}
if ( tata[y] > 0 )
for (k = y; tata[k] != j; k = w){
w = tata[k]; tata[k] = j;
}
printf("NU\n");
}
}
}
}