Pagini recente » Cod sursa (job #122114) | Cod sursa (job #2688869) | Cod sursa (job #1112902) | Cod sursa (job #3178140) | Cod sursa (job #2786742)
#include <fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
const int nmax=100000;
int r[nmax+1];
void update(int x){
int i=x;
while(r[i]!=r[r[i]]){
i=r[i];
}
int j=x;
while(r[j]!=r[r[j]]){
int rj=r[j];
r[j]=r[i];
j=rj;
}
}
int main(){
int n,m;
fin>>n>>m;
for(int i=1;i<=n;i++){
r[i]=i;
}
for(int i=1;i<=m;i++){
int cod,x,y;
fin>>cod>>x>>y;
update(x);
update(y);
if(cod==1){
r[r[x]]=r[y];
r[x]=r[y];
}else{
if(r[x]==r[y]){
fout<<"DA\n";
}else{
fout<<"NU\n";
}
}
}
return 0;
}