Pagini recente » Cod sursa (job #2003761) | Cod sursa (job #312542) | Cod sursa (job #1647934) | Cod sursa (job #1448177) | Cod sursa (job #3232808)
#include<fstream>
using namespace std;
ifstream F("disjoint.in");
ofstream G("disjoint.out");
#define Z 2048
int n,i,a[100001],p=Z,q,j,k,m;
char s[Z],t[Z];
inline char A()
{
if(p==Z)
F.read(s,Z),p=0;
return s[p++];
}
int B()
{
char c;
int n=0;
for(c=A();isdigit(c);n=n*10+c-48,c=A());
return n;
}
inline void C()
{
if(q==Z)
G.write(t,Z),q=0;
}
int main()
{
for(n=B(),m=B();m--;) {
for(i=B(),j=B(),k=B();a[j];j=a[j]);
for(;a[k];k=a[k]);
if(i<2)
a[k]=j;
else
j==k?t[q++]='D',C(),t[q++]='A':(t[q++]='N',C(),t[q++]='U'),C(),t[q++]='\n',C();
}
return G.write(t,q),0;
}