AC代码
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
int Node[100001][2],b[200010];
vector<int> v;
int main()
{
int n,s,add,key,next;
scanf("%d%d",&n,&s);
for(int i=0;i<n;i++)
{
scanf("%d%d%d",&add,&key,&next);
Node[add][0]=key;
Node[add][1]=next;
b[key+100000]=add;
}
while(s!=-1)
{
v.push_back(Node[s][0]);
s=Node[s][1];
}
sort(v.begin(),v.end());
int size=v.size();
printf("%d ",size);
for(int i=0;i<size;i++)
{
int temp=b[v[i]+100000];
printf("%05d\n%05d %d ",temp,temp,v[i]);
}
printf("-1");
return 0;
}