Pagini recente » Cod sursa (job #163221) | Cod sursa (job #1425656) | Cod sursa (job #2692358) | Cod sursa (job #26884) | Cod sursa (job #241200)
Cod sursa(job #241200)
#include <stdio.h>
#include <vector>
#define pb(a) push_back(a);
using namespace std;
long n,m,i,l,t,x,y,n1,n2,c[100000];
vector <int> v[100000];
void join(int x,int y){
if (c[x]<c[y]){n1=c[x];n2=c[y];}
else {n1=c[y];n2=c[x];}
l=v[n2].size();
for (int i=0;i<l;++i){
int poz=v[n2][i];
c[poz]=n1;
v[n1].pb(poz);
}
}
int main(){
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%ld %ld",&n,&m);
for (i=1;i<=n;++i){v[i].pb(i);c[i]=i;}
for (i=1;i<=m;++i){
scanf("%ld %ld %ld",&t,&x,&y);
if (t==1)join(x,y);
else if (c[x]==c[y])printf("DA\n");else printf("NU\n");
}
return 0;
}