Pagini recente » Cod sursa (job #2915007) | Cod sursa (job #3269998) | Cod sursa (job #34327) | Cod sursa (job #3245205) | Cod sursa (job #363781)
Cod sursa(job #363781)
#include<fstream>
#include<iostream>
#include<queue>
using namespace std;
int n,m;
int ds[100000];
void unionn(int x,int y)
{
if( x+y%2 == 0 )
{
ds[x] = y;
}
else{
ds[y] = x;
}
}
int get(int x)
{
if( ds[x] == x ) return x;
int aux = get(ds[x]);
ds[x] = aux;
return aux;
}
int main()
{
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
scanf("%d %d",&n,&m);
for(int i=0; i<n; i++)
ds[i] = i;
for(int i=0; i<m; i++)
{
int op,x,y;
scanf("%d %d %d",&op,&x,&y);
x--;y--;
if( op==1 ) unionn(x,y);
else if( get(x) == get(y) ) printf("DA\n");
else printf("NU\n");
}
return 0;
}