Pagini recente » Cod sursa (job #1827902) | Cod sursa (job #296533) | Cod sursa (job #1934014) | Cod sursa (job #183171) | Cod sursa (job #1758179)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
#define lim 100001
int n,m;
int d[lim];
int get_dad(int x)
{
if(x!=d[x])
d[x]=get_dad(d[x]);
return d[x];
}
void reuniune(int x, int y)
{
int px,py;
px=get_dad(x);
py=get_dad(y);
d[py]=px;
}
int main()
{
int i,tip,a,b,pa,pb;
fin>>n>>m;
for(i=1; i<=n; i++)
d[i]=i;
for(i=1; i<=m; i++)
{
fin>>tip>>a>>b;
if(tip==1)
reuniune(a,b);
else
{
pa=get_dad(a);
pb=get_dad(b);
if(pa==pb)
fout<<"DA"<<'\n';
else
fout<<"NU"<<'\n';
}
}
fin.close();
fout.close();
return 0;
}