#include<bits/stdc++.h>
using namespace std;
const int mxn=1e5+10;
const int INF=0x3f3f3f3f;
struct node{
int next,data;
}l[mxn];
int main()
{
int fi,n;
cin>>fi>>n;
for(int x,y,z,i=1;i<=n;i++)
{
cin>>x>>y>>z;
l[x].next=z;
l[x].data=y;
}
vector<int> v;//利用容器存下链表
while(l[fi].next!=-1)//顺序存下节点
{
v.push_back(fi);
fi=l[fi].next;
}
v.push_back(fi);
int a=0,f=1,b=v.size()-1; //可能存在多余节点,应根据容器大小来进行赋值等
for(int i=1;i<=v.size()-1;i++)
{
if(f==1)
{
printf("%05d %d %05d\n",v[b],l[v[b]].data,v[a]);
b--;f=-f;
}
else
{
printf("%05d %d %05d\n",v[a],l[v[a]].data,v[b]);
a++;f=-f;
}
}
printf("%05d %d -1\n",v[b],l[v[b]].data);
return 0;
}
01-17
02-10
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交