Pagini recente » Cod sursa (job #2697295) | Cod sursa (job #2980291) | Cod sursa (job #589114) | Cod sursa (job #2810408) | Cod sursa (job #2859018)
#include <bits/stdc++.h>
using namespace std;
int n,m,max_conex,T[32001],H[32001];
int Radacina(int k)
{ while(k!=T[k]) k=T[k];
return k;
}
void Unire(int x, int y)
{ T[x]=y; }
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{T[i]=i; H[i]=1;}
while(m--)
{ int op,x,y;
cin>>op>>x>>y;
if(op==1)
{int rx=Radacina(x);
int ry=Radacina(y);
if(rx!=ry)
{ if(H[rx]>H[ry])
{ T[ry]=rx;
H[rx]+=H[ry];
}
else
{ T[rx]=ry;
H[ry]+=H[rx];
}
}
}
if(op==2)
{ if(Radacina(x)==Radacina(y)) cout<<"DA\n"; else cout<<"NU\n";}
}
return 0;
}