Simple question.
#include <cstdio>#include<cstring>#include<cmath>#include<vector>#include<map>#include<queue>#include<stack>#include<algorithm>using namespacestd;Const intmaxn=100000+Ten;intRoot,n;structnode{intId,val,nx;} TMP[MAXN],S[MAXN];int inch[MAXN];intFLAG[MAXN];intIDX[MAXN];inttot=0; Vector<int>G[MAXN];intMain () {memset (inch,0,sizeof inch); memset (Flag,0,sizeofflag); scanf ("%d%d",&root,&N); for(intI=1; i<=n;i++) {scanf ("%d%d%d",&tmp[i].id,&tmp[i].val,&tmp[i].nx); inch[tmp[i].id]=i; } intp=root,sz=0; while(1) { if(p==-1) Break; S[sz++]=tmp[inch[P]]; P=tmp[inch[P]].nx; } for(intI=0; i<sz;i++) { if(Flag[abs (S[i].val)]==0) g[0].push_back (i); Elseg[1].push_back (i); Flag[abs (s[i].val)]++; } for(intI=0; i<=1; i++) { for(intj=0; J<g[i].size (); j + +) { if(J==g[i].size ()-1) printf ("%05d%d%d\n", s[g[i][j]].id,s[g[i][j]].val,-1); Elseprintf ("%05d%d%05d\n", s[g[i][j]].id,s[g[i][j]].val,s[g[i][j+1]].id); } } return 0;}
PAT (Advanced level) 1097. Deduplication on a Linked List (25)