Pagini recente » Cod sursa (job #2475625) | Cod sursa (job #2427893) | Cod sursa (job #2438922) | Cod sursa (job #625167) | Cod sursa (job #1140999)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> X,Y;
int n,m,x,y,i,cod,T[100010];
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)T[i]=i;
for(;m;m--)
{
scanf("%d%d%d",&cod,&x,&y);
for(;;)
{
X.push_back(x);
if(T[x]==x)break;
x=T[x];
}
for(;;)
{
Y.push_back(y);
if(T[y]==y)break;
y=T[y];
}
if(cod==2)
x==y?printf("DA\n"):printf("NU\n");
if(cod==1)y=x;
for(;X.size();X.pop_back())T[X.back()]=x;
for(;Y.size();Y.pop_back())T[Y.back()]=y;
}
return 0;
}