u014429500的专栏

#include<stdio.h>#include<algorithm>using namespace std;const int maxn=100010;struct nod{int address;int data;int next;int at;}node[maxn];int start,n,k;int cmp(nod a,nod b){return a.at<b.at;}void reverse(int a,int b){int i=a;int j=b;nod tmp;while(i<=j){tmp=node[i];node[i]=node[j];node[j]=tmp;i++;j–;}}int main(){int tmp;//freopen("in.txt","r",stdin);scanf("%d%d%d",&start,&n,&k);for(int i=0;i<n;i++){scanf("%d",&tmp);scanf("%d%d",&node[tmp].data,&node[tmp].next);node[tmp].address=tmp;}for(int i=0;i<maxn;i++)node[i].at=maxn+10;tmp=start;int count=0;while(tmp!=-1){node[tmp].at=count;count++;tmp=node[tmp].next;}sort(node,node+maxn,cmp);//printf("%d\n",node[0].data);int i=0;while(i<count){if(i+k-1<count)reverse(i,i+k-1);i+=k;}for(int i=0;i<count;i++){if(i<count-1)node[i].next=node[i+1].address;elsenode[i].next=-1;}for(int i=0;i<count;i++){if(i<count-1)printf("%05d %d %05d\n",node[i].address,node[i].data,node[i].next);elseprintf("%05d %d -1\n",node[i].address,node[i].data);}return 0;}

,捕捉最后的流星,坐在最高的山顶上,可以听音乐,聊电影,

u014429500的专栏

相关文章:

你感兴趣的文章:

标签云: