您的位置:首页 > 其它

PAT 1074 Reversing Linked List

2016-04-24 11:08 453 查看
题目链接

AC代码

#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;

int list[100010];
int node[100010][2];

int main()
{
//  freopen("F:\\in1.txt","r",stdin);
int str,num,r;
scanf("%d %d %d",&str,&num,&r);
int address,data,next,i=0;
for(int i=0;i<num;i++)
{
scanf("%d %d %d",&address,&data,&next);
node[address][0] = data;
node[address][1] = next;
}
int m = 0,n = str;
while(n!=-1)
{
list[m++] = n;
n = node
[1];
}
while(i+r<=m)
{
reverse(list+i,list+i+r);
i = i + r;
}
for(i=0;i<m-1;i++)
{
printf("%05d %d %05d\n",list[i],node[list[i]][0],list[i+1]);
}
printf("%05d %d -1\n",list[i],node[list[i]][0]);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: