Pagini recente » Cod sursa (job #2197040) | Cod sursa (job #953543) | Cod sursa (job #1504038) | Cod sursa (job #507652) | Cod sursa (job #2986857)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
const int N = 100002, M = 100002;
int n, m, arb[N], c, x, y;
int find(int a)
{
if (arb[a] == a)
return a;
return find(arb[a]);
}
void update(int a, int b)
{
int x = find(a), y = find(b);
if (x != y)
arb[x] = y;
}
int main()
{
fin>>n>>m;
for (int i = 1; i <= n; i++)
arb[i] = i;
for (int i = 1; i <= m; i++)
{
fin>>c>>x>>y;
if(c == 1)
{
update(x, y);
}
else
{
if (find(x) == find(y))
fout<<"DA"<<"\n";
else
fout<<"NU"<<"\n";
}
}
}