Pagini recente » Cod sursa (job #1878964) | Cod sursa (job #1318066) | Cod sursa (job #766355) | Cod sursa (job #1295620) | Cod sursa (job #1948831)
#include<fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n,m,i,a,b,q,s,p;
int t[100005];
int f(int k){
int x=k;
while(t[k]>0){
k=t[k];
}
while(t[x]>0){
int y=x;
x=t[x];
t[y]=k;
}
return k;
}
int main(){
fin>>n>>m;
for(i=1;i<=n;i++){
t[i]=-1;
}
for(i=1;i<=m;i++){
fin>>q>>a>>b;
s=f(a);
p=f(b);
if(q==2){
if(s==p){
fout<<"DA"<<"\n";
}
else{
fout<<"NU"<<"\n";
}
}
else{
if(s!=p){
if(t[s]<t[p]){
t[s]+=t[p];
t[p]=s;
}
else{
t[p]+=t[s];
t[s]=p;
}
}
}
}
return 0;
}