Pagini recente » Cod sursa (job #1151153) | Cod sursa (job #1092487) | Cod sursa (job #1717085) | Cod sursa (job #1421385) | Cod sursa (job #1801828)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int p[100100],n,m;
int find(int nod){
if (p[nod]==nod) return nod;
else{
int x=find(p[nod]);
p[nod]=x;
return x;
}
}
void unite(int a,int b){
a=find(a);
b=find(b);
p[a]=b;
}
int main(){
fin >>n>>m;
for(int i=1;i<=n;i++) p[i]=i;
for(int i=1;i<=m;i++){
int u,x,y;
fin>>u>>x>>y;
//cout <<u<<x<<y<<endl;
if (u==1) unite(x,y);
else{
if (find(x)==find(y)) fout<<"DA"<<'\n';
else fout <<"NU"<<'\n';
}
}
return 0;
}