Pagini recente » Cod sursa (job #2988484) | Cod sursa (job #44138) | Cod sursa (job #1167735) | Cod sursa (job #1378240) | Cod sursa (job #1605783)
#include <stdio.h>
#include <vector>
using namespace std;
vector <int> v[100001];
int vec[100001];
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
int n,m,i,cod,y,x,k;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++) {
vec[i] = i;
v[i].push_back(i);
}
for(k=1;k<=m;k++) {
scanf("%d%d%d",&cod,&x,&y);
if(cod == 1) {
if(v[vec[x]].size() < v[vec[y]].size()) {
swap(x,y);
}
for(i=v[vec[y]].size()-1; i>=0; i--) {
int c = vec[y];
v[vec[x]].push_back(v[vec[y]][i]);
vec[v[vec[y]][i]] = vec[x];
v[c].pop_back();
}
}
else if(cod == 2) {
if(vec[x]==vec[y])
printf("DA\n");
else printf("NU\n");
}
}
return 0;
}