Pagini recente » Cod sursa (job #2961198) | Cod sursa (job #2664272) | Cod sursa (job #768240) | Cod sursa (job #2710511) | Cod sursa (job #2711598)
#include <fstream>
#define Nmax 100010
using namespace std;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
int n,m;
int t[Nmax];
int h[Nmax];
int find(int x)
{ while(x!=t[x]) x=t[x];
return x;
}
void uneste(int x,int y)
{ t[x]=y;
}
int main()
{ cin>>n>>m;
for(int i=1;i<=n;i++) {t[i]=i; h[i]=1;}
for(int op,x,y;m;--m)
{ cin>>op>>x>>y;
if(op==2)
if(find(x)==find(y)) cout<<"DA\n"; else cout<<"NU\n";
else
uneste(find(x),find(y));
}
return 0;
}