Pagini recente » Cod sursa (job #576104) | Cod sursa (job #750155) | Cod sursa (job #49773) | Cod sursa (job #2957264) | Cod sursa (job #1210000)
#include<fstream>
using namespace std;
#define MAXN 100005
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
int parent[MAXN],N,M;
int Find(int x)
{
while(parent[x]>0)
x=parent[x];
return x;
}
void Union(int x, int y)
{
int rx=Find(x),ry=Find(y);
if(rx!=ry)
parent[rx]=ry;
}//end Union
int main() {
int i,x,y,q;
cin>>N>>M;
for(i=1;i<=M;i++){
cin>>q>>x>>y;
if(q==1) Union(x,y);
else if(Find(x)==Find(y)) cout<<"DA"<<"\n";
else cout<<"NU"<<"\n";
}//end for
return 0;
}