Pagini recente » Cod sursa (job #1795311) | Cod sursa (job #1361012) | Cod sursa (job #1119877) | Cod sursa (job #72405) | Cod sursa (job #2432606)
#include <fstream>
#define nmax 100005
using namespace std;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
int find(int x, int parent[]){
if(parent[x]==x)
return x;
return find(parent[x],parent);
}
void reunion(int x,int y,int parent[]){
x=find(x,parent);
y=find(y,parent);
parent[x]=y;
}
int main(){
ios::sync_with_stdio(false);
int parent[nmax];
int n, m, i ,x, y, p;
cin>>n>>m;
for( i=1; i<=n; i++){
parent[i]=i;
}
for(i=1;i<=m;i++){
cin>>p>>x>>y;
if(p==1){
if(find(x,parent)!=find(y,parent))
reunion(x,y,parent);
}
else{
if(find(x,parent)==find(y,parent))
cout<<"DA"<<"\n";
else
cout<<"NU"<<"\n";
}
}
}