Pagini recente » Diferente pentru home intre reviziile 261 si 903 | Monitorul de evaluare | Cod sursa (job #886491) | Cod sursa (job #3317372) | Cod sursa (job #2391703)
#include<cstdio>
#define M 6000000
#define N 100001
int n,m,y,z,p[N],o=-1,l;
char r[M];
inline int A()
{
int s=0;
for(o++;r[o]>='0'&&r[o]<='9';o++)
s=s*10+r[o]-'0';
return s;
}
int main()
{
freopen("disjoint.in","r",stdin),freopen("disjoint.out","w",stdout),fread(r,1,M,stdin),n=A(),m=A();
while(m--)
{
for(n=A(),y=A(),z=A();p[y];y=p[y]);
for(;p[z];z=p[z]);
if(n==2)
if(y==z)
r[l++]='D',r[l++]='A',r[l++]='\n';
else
r[l++]='N',r[l++]='U',r[l++]='\n';
else
p[z]=y;
}
fwrite(r,1,l,stdout);
}