Pagini recente » Cod sursa (job #710582) | Cod sursa (job #2123354) | Cod sursa (job #637732) | Cod sursa (job #438556) | Cod sursa (job #2432610)
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
inline int find(int x, unordered_map<int,int>& parent){
if(parent[x]==x)
return x;
parent[x]=find(parent[x],parent);
return parent[x];
}
void reunion(int x,int y,unordered_map<int,int>& parent){
x=find(x,parent);
y=find(y,parent);
parent[x]=y;
}
int main(){
ios::sync_with_stdio(false);
unordered_map<int,int> parent;
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";
}
}
}