Pagini recente » Cod sursa (job #3276486) | Cod sursa (job #3210572) | Cod sursa (job #924359) | Cod sursa (job #1004399) | Cod sursa (job #3003986)
#include <fstream>
using namespace std;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
const int NMAX = 100000;
int T[NMAX + 1];
int Find(int i)
{
if(T[i] == 0)
return i;
return T[i] = Find(T[i]);
}
inline void Union(int cx, int cy)
{
T[cy] = cx;
}
int main()
{
int N, M, op, x, y, cx, cy;
cin >> N >> M;
//
while(M--)
{
cin >> op >> x >> y;
cx = Find(x);
cy = Find(y);
if(op == 1)
{
if(cx != cy)
Union(cx, cy);
}
else
{
if(cx == cy)
cout << "DA\n";
else
cout << "NU\n";
}
}
cin.close();
cout.close();
return 0;
}