#include<bits/stdc++.h>
//#define int long long
#define PII pair<int,int>
using namespace std;
const int N=1e5+10;
struct Node{
int address,v,ne,num;
}node[N];
int head,n,cnt1,cnt2,a;
bool st[N];
bool cmp(struct Node &a,struct Node &b){
return a.num<b.num;
}
signed main(){
cin>>head>>n;
for(int i=0;i<N;i++)
node[i].num=2*N;
for(int i = 0; i < n; i++) {
cin>>a;
cin>>node[a].v>>node[a].ne;
node[a].address=a;
}
int p=head;
while(p!=-1){
if(!st[abs(node[p].v)]){
node[p].num=cnt1++;
st[abs(node[p].v)]=true;
}else node[p].num=N+cnt2++;
p=node[p].ne;
}
sort(node,node+N,cmp);
int cnt=cnt1+cnt2;
for(int i=0;i<cnt;i++){
if(i!=cnt1-1&&i!=cnt-1){
printf("%05d %d %05d\n",node[i].address,node[i].v,node[i+1].address);
}else printf("%05d %d -1\n",node[i].address,node[i].v);
}
return 0;
}
L2-002 链表去重
于 2024-03-16 17:22:43 首次发布