#include<bits/stdc++.h>
using namespace std;
struct Node{
int val;
int next;
}res[100005];
int main(){
int num;
int start;
int p;
cin>>start>>num;
for(int i=0;i<num;i++){
cin>>p;
cin>>res[p].val>>res[p].next;
}
p=start;
int key[10005]={0};
vector<int> pre;
vector<int> post;
while(p!= -1){
int x=abs(res[p].val);
if(key[x]==0){
pre.push_back(p);
key[x]=1;
}
else{
post.push_back(p);
}
p=res[p].next;
}
int i=0;
for(i=0;i<pre.size()-1;i++){
printf("%05d %d %05d\n", pre[i], res[pre[i]].val, pre[i + 1]);
}
printf("%05d %d -1\n", pre[i], res[pre[i]].val);
if(post.size()!=0){
i=0;
for(i=0;i<post.size()-1;i++){
printf("%05d %d %05d\n", post[i], res[post[i]].val, post[i + 1]);
}
printf("%05d %d -1\n", post[i], res[post[i]].val);
}
return 0;
}
注意点:
1 05d%表示用0补齐五位
2 00100用cin进行读取得到的是100