Pagini recente » Cod sursa (job #627213) | Cod sursa (job #1833478) | Cod sursa (job #2713210) | Cod sursa (job #443972) | Cod sursa (job #273173)
Cod sursa(job #273173)
#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");
for (k = x; tata[k] != i; k = w){
w = tata[k];
tata[k] = i;
}
for (k = y; tata[k] != i; k = w){
w = tata[k];
tata[k] = i;
}
}
else{
for (k = x; tata[k] != i; k = w){
w = tata[k];
tata[k] = i;
}
for (k = y; tata[k] != j; k = w){
w = tata[k];
tata[k] = j;
}
printf("NU\n");
}
}
}
}