Pagini recente » Cod sursa (job #2849043) | Cod sursa (job #2384136) | Cod sursa (job #2282550) | Cod sursa (job #745883) | Cod sursa (job #602241)
Cod sursa(job #602241)
#include <cstdio>
using namespace std;
int n,m,r[100001];
int update(int x,int y)
{
if (r[r[x]]!=r[x])
r[x]=update(r[x],y);
else if (y) r[x]=y;
return r[x];
}
int main()
{
int i,a,b,c;
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d %d\n",&n,&m);
for (i=1;i<=n;++i)
r[i]=i;
for (i=1;i<=m;++i)
{
scanf("%d %d %d\n",&a,&b,&c);
if (r[r[b]]!=r[b])
r[b]=update(b,0);
if (r[r[c]]!=r[c])
r[c]=update(c,0);
if (a==1)
{
if (r[b]!=r[c])
r[c]=update(r[c],r[b]);
}
else if (r[b]==r[c])
printf("DA\n");
else
printf("NU\n");
}
return 0;
}