Pagini recente » Cod sursa (job #2607186) | Cod sursa (job #2895505) | Cod sursa (job #3228708) | Cod sursa (job #3005737) | Cod sursa (job #2027007)
#include <fstream>
using namespace std;
ifstream fin ("disjoint.in");
ofstream fout ("disjoint.out");
int n,m,x,i,rx,ry,y,op,T[100001];
int rad (int x){
while(T[x]>0)
x=T[x];
return x;
}
int main(){
fin>>n>>m;
for(i=1;i<=n;i++)
T[i]=-1;
for(;m--;){
fin>>op>>x>>y;
rx=rad(x);
ry=rad(y);
if(op==2)
fout<<(rx==ry ? "DA\n" : "NU\n");
else
if(rx!=ry){
if(T[rx]<T[ry]){
T[rx]+=T[ry];
T[ry]=rx;
}
else{
T[ry]+=T[rx];
T[rx]=ry;
}
}
}
}