Pagini recente » Cod sursa (job #1932310) | Cod sursa (job #2368715) | Cod sursa (job #1613801) | Cod sursa (job #550555) | Cod sursa (job #2432611)
#include <fstream>
#define nmax 100005
using namespace std;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
inline int find(int x, int parent[]){
if(parent[x]==x)
return x;
parent[x]=find(parent[x],parent);
return parent[x];
}
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){
reunion(x,y,parent);
}
else{
if(find(x,parent)==find(y,parent))
cout<<"DA"<<"\n";
else
cout<<"NU"<<"\n";
}
}
}