Pagini recente » Cod sursa (job #134304) | Cod sursa (job #321573) | Cod sursa (job #762222) | Cod sursa (job #2603841) | Cod sursa (job #3163012)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int t[100005];
/**
t[i]= 0, daca i este rad
=j,daca j este predecesorul lui i in drumul de la i la rad
*/
int n, m, op, x, y;
int FindRoot(int x){
int rad=x;
while(t[rad]!=0)
rad=t[rad];
return rad;
}
void Union(int x, int y){
t[y]=x;
}
int main(){
fin>>n>>m;
for(int i=1;i<=m;i++){
fin>>op>>x>>y;
x=FindRoot(x);
y=FindRoot(y);
if(op==1)
Union(x, y);
else
if(x==y)
fout<<"DA\n";
else fout<<"NU\n";
}
return 0;
}