pat1052 Linked List Sorting

来源:互联网 发布:子弹 知乎 编辑:程序博客网 时间:2024/06/01 08:30
#include<cstdio>#include<iostream>#include<algorithm>#include<vector>#include<queue>#include<string>#include<cstring>#include<cmath>#include<map>#define ll long longusing namespace std;struct node{int key,next;}nd[2000005];vector<pair<int,int> >v;int main(){    int n,head,i,j,x,y,z;while(scanf("%d%d",&n,&head)!=EOF){for(i = 1;i<=n;i++){scanf("%d%d%d",&x,&y,&z);    nd[x].key = y;nd[x].next = z;}for(i = head;i!=-1;i = nd[i].next)v.push_back(make_pair(nd[i].key,i));if(!v.size())printf("%d %d\n",0,-1);else {    sort(v.begin(),v.end());    printf("%d %05d\n",v.size(),v[0].second);    for(i = 0;i<v.size()-1;i++)    printf("%05d %d %05d\n",v[i].second,v[i].first,v[i+1].second);    printf("%05d %d -1\n",v[i].second,v[i].first);}}    return 0;}

0 0