Pagini recente » Cod sursa (job #2031980) | Autentificare | Cod sursa (job #2043795) | Cod sursa (job #2888758) | Cod sursa (job #1969730)
#include <cstdio>
using namespace std;
int gr[100010];
int grupa(int i)
{
if(gr[i] == i) return i;
gr[i] = grupa(gr[i]);
return gr[i];
}
void uniongr(int i,int j)
{
gr[grupa(i)] = grupa(j);
}
int main()
{
int n,m,a,b,i,p;
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++) gr[i] = i;
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&p,&a,&b);
if(p==1) uniongr(a,b);
else printf(grupa(a)==grupa(b)?"DA\n":"NU\n");
}
}