import java.util.*;
class node21{
int add;
int val;
int next;
node21(int add,int val,int next){
this.add=add;
this.val=val;
this.next=next;
}
}
public class 链表去重{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int firstadd=sc.nextInt();
int n=sc.nextInt();
node21 nodes[]=new node21[200000];
List<node21> lst=new ArrayList<>();
for(int i=0;i<n;i++){
int address=sc.nextInt();
int data=sc.nextInt();
int nexta=sc.nextInt();
nodes[address]=new node21(address,data,nexta);
}
//初始化
while(firstadd!=-1){
lst.add(nodes[firstadd]);
firstadd=nodes[firstadd].next;
}
List<node21> lst1=new ArrayList<>();
List<node21> lst2=new ArrayList<>();
HashSet<Integer> set=new HashSet<>();
for(int i=0;i<lst.size();i++){
int data=Math.abs(lst.get(i).val);
if(set.contains(data)){
lst2.add(lst.get(i));
}else if(!set.contains(data)){
// set.add(data);
lst1.add(lst.get(i));
set.add(data);
}
}
if(lst1.size()>0){
for(int i=0;i<lst1.size()-1;i++){
System.out.printf("%05d %d %05d\n",lst1.get(i).add,lst1.get(i).val,lst1.get(i + 1).add);
}}
System.out.printf("%05d %d %d\n",lst1.get(lst1.size()-1).add,lst1.get(lst1.size()-1).val,-1);
if(lst2.size()>0){
for(int i=0;i<lst2.size()-1;i++){
System.out.printf("%05d %d %05d\n",lst2.get(i).add,lst2.get(i).val,lst2.get(i + 1).add);
}}
System.out.printf("%05d %d %d\n",lst2.get(lst2.size()-1).add,lst2.get(lst2.size()-1).val,-1);
}
}
没有满分。