#include<iostream>
#include<vector>
using namespace std;
struct node{
int data,next;
};
int head,N,K;
node n[100000];
vector<int>v;
int main()
{
int i,j,k,l;
cin>>head>>N>>K;
for(i=0;i<N;i++){
cin>>j>>k>>l;
n[j].data=k;
n[j].next=l;
}//数据输入
for(i=head;i>=0;i=n[i].next){
v.emplace_back(i);
}
for(i=0;i+K<=v.size();i+=K){
//i,i+1,i+2, i+k-1
for(j=0;j<K/2;j++){
int temp=v[i+j];
v[i+j]=v[i+K-1-j];
v[i+K-1-j]=temp;
}
}
printf("%05d %d ",v[0],n[v[0]].data);
for(i=1;i<v.size();i++){
printf("%05d\n%05d %d ",v[i],v[i],n[v[i]].data);
}
printf("-1");
}
1074 Reversing Linked List
最新推荐文章于 2025-06-09 20:45:18 发布