Pagini recente » Cod sursa (job #3130980) | Cod sursa (job #1368946) | Cod sursa (job #1123183) | Cod sursa (job #2154166) | Cod sursa (job #742632)
Cod sursa(job #742632)
#include <algorithm>
#define DIM 100005
using namespace std;
int n, m, r[DIM], t[DIM];
int find(int x){
if (x != t[x])
t[x] = find(t[x]);
return t[x];
}
void unite(int x,int y){
if (r[x] > r[y]){
t[y] = x;
r[x] += r[y];
}
else{
t[x] = y;
r[y] += r[x];
}
}
void solve(){
int i, tip, x, y;
for (i = 1; i <= n; i++){
t[i] = i;
r[i] = 1;
}
for (i = 1; i <= m; i++){
scanf("%d%d%d", &tip, &x, &y);
if (tip == 1)
unite(find(x), find(y));
else
if (find(x) == find(y))
printf("DA\n");
else
printf("NU\n");
}
}
int main (){
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
scanf("%d%d", &n, &m);
solve();
return 0;
}