Pagini recente » Cod sursa (job #1851474) | Cod sursa (job #2416818) | Cod sursa (job #294812) | Cod sursa (job #1627026) | Cod sursa (job #2222808)
#include <bits/stdc++.h>
using namespace std;
const int Nmax = 100005;
int daddy[Nmax];
int N, M;
void init()
{
for (int i = 1; i <= N; ++i)
daddy[i] = i;
}
int whosUrDaddy(int k)
{
if (daddy[k] != k)
daddy[k] = whosUrDaddy(daddy[k]);
return daddy[k];
}
void couple(int x, int y)
{
daddy[whosUrDaddy(x)] = whosUrDaddy(y);
}
int main()
{
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
scanf("%d%d", &N, &M);
init();
for (int i = 1; i <= M; ++i) {
int t,a,b;
scanf("%d%d%d",&t, &a, &b);
if (t == 1) {
if(whosUrDaddy(a) != whosUrDaddy(b))
couple(a, b);
continue;
}
printf("%s", whosUrDaddy(a) == whosUrDaddy(b) ? "DA\n" : "NU\n");
}
return 0;
}