这不是链表题
#include<stdio.h>
#include<stdlib.h>
typedef struct uc{
int x;
int y;
} uk;
int main(){
int a,b,d[10001]={},e,f,h,l[100000]={0};
uk c[100000]={};
scanf("%d%d",&a,&b);
while(b--){
scanf("%d%d%d",&e,&f,&h);
c[e].x=f;
c[e].y=h;
}
b=a;
e=0;
printf("%05d %d ",b,c[b].x);
d[abs(c[b].x)]++;
b=c[b].y;
while(b!=-1){
if(!d[abs(c[b].x)]){
printf("%05d\n%05d %d ",b,b,c[b].x);
d[abs(c[b].x)]++;
}
else l[++e]=b;
b=c[b].y;
}
puts("-1");
if(e){
printf("%05d %d ",l[1],c[l[1]].x);
for(int i=2;i<=e;i++)
printf("%05d\n%05d %d ",l[i],l[i],c[l[i]].x);
}
puts("-1");
}