Pagini recente » Cod sursa (job #1472646) | Cod sursa (job #357510) | Cod sursa (job #1472843) | Cod sursa (job #1472667) | Cod sursa (job #3340674)
#include <fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
#define cin fin
#define cout fout
const int NMAX=100002;
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";
}
}
return 0;
}