Pagini recente » Cod sursa (job #2664597) | Cod sursa (job #2278067) | Cod sursa (job #2041435) | Cod sursa (job #968022) | Cod sursa (job #2820255)
#include <fstream>
#include <climits>
#define ll long long
using namespace std;
const int NMAX = 100003;
int t[NMAX];
int root(int x)
{
if (!t[x])
return x;
t[x] = root(t[x]);
return t[x];
}
void joint(int x, int y)
{
int r1 = root(x), r2 = root(y);
if (r1 != r2)
{
t[r2] = r1;
}
}
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
int main()
{
int n, m;
cin >> n >> m;
while (m--)
{
int op, x, y;
cin >> op >> x >> y;
if (op == 1)
joint(x, y);
else
{
int v1 = root(x);
int v2 = root(y);
if (v1 == v2)
cout << "DA";
else
cout << "NU";
cout << "\n";
}
}
}