Pagini recente » Cod sursa (job #1774684) | Cod sursa (job #753831) | Cod sursa (job #450693) | Cod sursa (job #899101) | Cod sursa (job #3004773)
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
int n,m,C[100001],cerinta;
int find(int nod)
{
if(C[nod]==nod)
return nod;
return C[nod]=find(C[nod]);
}
void unesc(int nod1, int nod2)
{
if(C[nod1]<C[nod2])
C[nod2]=C[nod1];
else
C[nod1]=C[nod2];
}
int main()
{
cin>>n>>m;
for(int i=1; i<=n; ++i)
C[i]=i;
for(int i=1,x,y;i<=m;++i)
{
cin>>cerinta>>x>>y;
if(cerinta==1)
{
unesc(x,y);
}
else
if(cerinta==2)
{
if(find(x)==find(y))
cout<<"DA"<<'\n';
else
cout<<"NU"<<'\n';
}
}
return 0;
}