Pagini recente » Cod sursa (job #640175) | Cod sursa (job #2354304) | Cod sursa (job #565006) | Cod sursa (job #2861994) | Cod sursa (job #3181060)
#include <fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n,k,tata[100001],x,y,t,r[100001];
int main()
{
fin>>n>>k;
for(int i=1;i<=n;i++){
tata[i]=-1;
r[i]=i;
}
for(int i=1;i<=k;i++)
{
fin>>t>>x>>y;
if(t==1)
{
if(tata[r[x]]>tata[r[y]])
swap(x,y);
tata[r[x]]+=tata[r[y]];
while(tata[y]>0)
{
r[y]=r[x];
y=tata[y];
}
tata[r[y]]=x;
r[r[y]]=r[x];
}
else
{
if(r[x]==r[y])
{
fout<<"DA"<<"\n";
}
else
fout<<"NU"<<"\n";
}
}
return 0;
}