Pagini recente » Cod sursa (job #2396691) | Cod sursa (job #2949353) | Cod sursa (job #1046744) | Cod sursa (job #1834990) | Cod sursa (job #2304045)
#include<fstream>
#include<cstring>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n,m,rx,ry,op,x,y;
int t[100010];
int rad(int x){
while(t[x]>0){
x=t[x];
}
return x;
}
int main(){
fin>>n>>m;
for(int i=1;i<=n;i++)
t[i]=-1;
while(m!=0){
fin>>op>>x>>y;
if(op==1){
rx=rad(x);
ry=rad(y);
if(rx!=ry){
if(t[rx]<t[ry]){
t[rx]+=t[ry];
t[ry]=rx;
}
else{
t[ry]+=t[rx];
t[rx]=ry;
}
}
}
else{
if(rad(x)==rad(y))
fout<<"DA"<<"\n";
else
fout<<"NU"<<"\n";
}
m--;
}
return 0;
}