Pagini recente » Cod sursa (job #3258432) | Cod sursa (job #43133) | Cod sursa (job #744136) | Cod sursa (job #1056134) | Cod sursa (job #715122)
Cod sursa(job #715122)
#include <cstdio>
#define nmax 100005
using namespace std;
int M[nmax],n,m;
int find(int ind)
{
if(M[ind]!=ind)return find(M[ind]);
else return ind;
}
void reun(int a,int b)
{
M[a]=b;
}
int main()
{ int i,x,y,op;
freopen("disjoint.out","w",stdout);
freopen("disjoint.in","r",stdin); scanf("%d %d\n",&n,&m);
for(i=1;i<=n;++i)
M[i]=i;
for(i=1;i<=m;++i)
{
scanf("%d %d %d\n",&op,&x,&y);
if(op==1)reun(find(x),find(y));
else {
if(find(x)==find(y))printf("DA\n");
else printf("NU\n");
}
}
fclose(stdin);
fclose(stdout);
return 0;
}