Pagini recente » Cod sursa (job #2507328) | Cod sursa (job #3154295) | Cod sursa (job #2842943) | Cod sursa (job #2743528) | Cod sursa (job #3193845)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("disjoint.in");
ofstream out("disjoint.out");
#define maxN 100000
int father[maxN+1];
void unioni(int f1,int f2){
father[f2]=f1;
}
int find(int nod) {
while(father[nod]!=nod){
nod=father[nod];
}
return father[nod];
}
int main(){
int n,q;
in>>n>>q;
for(int i=1;i<=n;i++){
father[i]=i;
}
for(int z=1;z<=q;z++){
int cod,x,y;
in>>cod>>x>>y;
if(cod==1){
unioni(find(x),find(y));
}
else{
if(find(x)==find(y)){
out<<"DA"<<'\n';
}
else{
out<<"NU"<<'\n';
}
}
}
}