Pagini recente » Cod sursa (job #467489) | Cod sursa (job #2101937) | Cod sursa (job #2117684) | Cod sursa (job #2396077) | Cod sursa (job #2978865)
#include <bits/stdc++.h>
using namespace std;
string np = "disjoint";
ifstream f(np + ".in");
ofstream g(np + ".out");
// #define f cin
// #define g cout
int n, m, t[100003];
int find_set(int nod)
{
if (nod == t[nod])
return nod;
return t[nod] = find_set(t[nod]);
}
void union_sets(int a, int b)
{
a = find_set(a), b = find_set(b);
if (a != b)
t[b] = a;
}
int main()
{
f >> n >> m;
for (int i = 1; i <= n; i++)
t[i] = i;
for (int cer, a, b; f >> cer >> a >> b;)
if (cer == 1)
union_sets(a, b);
else
{
if (find_set(a) == find_set(b))
g << "DA\n";
else
g << "NU\n";
}
return 0;
}