Pagini recente » Cod sursa (job #1187264) | Cod sursa (job #1626006) | Cod sursa (job #1435128) | Cod sursa (job #2235477) | Cod sursa (job #1856593)
#include<fstream>
using namespace std;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
long long n,m, A[100100],x,t,y,z;
int find(long long x){
if(A[x]==x) return x;
int p=find(A[x]);
A[x]=p;
return p;
}
void unire(int a, int b){
a=find(a);
b=find(b);
A[a]=b;
}
int main(){
cin>>n; cin>>m;
for(int i=1;i<=n;i++){
A[i]=i;
}
while(m--){
cin>>t>>z>>y;
if(t==1){
unire(z,y);
}
if(t==2){
if(find(z)==find(y)) cout<<"DA"<<'\n';
else cout<<"NU"<<'\n';
}
}
return 0;
}