Pagini recente » Cod sursa (job #1505428) | Cod sursa (job #2133400) | Cod sursa (job #966245) | Cod sursa (job #47757) | Cod sursa (job #2491272)
#include <fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int a[100002],i,j,n,t,x,y,o,r1,r2,m;
int aflrad(int z)
{
while(a[z]!=0)
{
z=a[z];
}
return z;
}
void marcrad(int r,int z)
{
while(a[z]!=0)
{
z=a[z];
a[z]=r;
}
}
int main()
{
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>o>>x>>y;
if(o==1)
{
r1=aflrad(x);
r2=aflrad(y);
if(r1==r2)
continue;
if(r1<r2)
{
marcrad(r1,y);
a[y]=r1;
}
else
{
marcrad(r2,x);
a[x]=r2;
}
}
else
{
r1=aflrad(x);
r2=aflrad(y);
if(r1==r2)
fout<<"DA\n";
else
fout<<"NU\n";
}
}
return 0;
}