Pagini recente » Cod sursa (job #2564921) | Cod sursa (job #2647670) | Cod sursa (job #3197663) | Cod sursa (job #45683) | Cod sursa (job #2812811)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("disjoint.in");
ofstream fout ("disjoint.out");
int r[100003];
int Find(int a)
{
if(a == r[a])
return a;
r[a] = Find(r[a]);
return r[a];
}
void Union(int a, int b)
{
int ra = Find(a);
int rb = Find(b);
r[a] = b;
}
int main()
{
int n, m;
fin >> n >> m;
for(int i = 1 ; i <= n ; i++)
r[i] = i;
for(int i = 1 ; i <= m ; i++)
{
int cer, a, b;
fin >> cer >> a >> b;
if(cer == 1)
Union(a, b);
else
{
if(Find(a) == Find(b))
fout << "DA" << endl;
else
fout << "NU" << endl;
}
}
return 0;
}