Pagini recente » Cod sursa (job #2825162) | Cod sursa (job #3120788) | Cod sursa (job #579380) | Cod sursa (job #2855913) | Cod sursa (job #675798)
Cod sursa(job #675798)
#include <cstdio>
#include <algorithm>
using namespace std;
int v[100005],n,j,i,m,x,y,caz,mn,mx,vmx,j2;
int main() {
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d %d",&m,&n);
for (i=1;i<=m;i++) v[i]=i;
for (i=1;i<=n;i++) {
scanf("%d",&caz);
if (caz==1) {
scanf("%d %d",&x,&y);
mn=min(x,y);
mx=x+y-mn;
vmx=v[mx];
j=mn;
j2=mx;
while (v[j]!=j) j=v[j];
while (v[j2]!=j2) j2=v[j2];
v[mx]=j;
}
else if (caz==2) {
scanf("%d %d",&x,&y);
while (v[x]!=x) x=v[x];
while (v[y]!=y) y=v[y];
if (v[x]==v[y]) printf("DA\n");
else printf("NU\n");
}
}
return 0;
}