【C++】PAT(basic level)1025. 反转链表 (25)
2014-03-15 20:28
633 查看
1025. 反转链表 (25)
时间限制300 ms
内存限制
32000 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。
输入格式:
每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、结点总个数正整数N(<= 105)、以及正整数K(<=N),即要求反转的子链结点的个数。结点的地址是5位非负整数,NULL地址用-1表示。
接下来有N行,每行格式为:
Address Data Next
其中Address是结点地址,Data是该结点保存的整数数据,Next是下一结点的地址。
输出格式:
对每个测试用例,顺序输出反转后的链表,其上每个结点占一行,格式与输入相同。
输入样例:
00100 6 4 00000 4 99999 00100 1 12309 68237 6 -1 33218 3 00000 99999 5 68237 12309 2 33218
输出样例:
00000 4 33218 33218 3 12309 12309 2 00100 00100 1 99999 99999 5 68237 68237 6 -1
和那道是一样的。
1074. Reversing Linked List (25)
//#include<stdio.h> #include<iostream> #include<algorithm> #include<string> #include<string.h> #include<vector> #include<map> #include<iomanip> using namespace std; struct NODE{ int fadd; int num; int radd; }; int main(){ #ifdef ONLINE_JUDGE #else freopen("in.txt","r",stdin); #endif int fstadd,N,K; vector <NODE> a(100000); cin>>fstadd>>N>>K; int i; //input for(i=0;i<N;i++){ NODE tt; scanf("%d%d%d",&tt.fadd,&tt.num,&tt.radd); a[tt.fadd]=tt; } //sort vector<NODE> b; while(fstadd!=-1){ b.push_back(a[fstadd]); fstadd=a[fstadd].radd; } //cout int cc=0; bool ff=true; vector <NODE> c; while(cc+K<=b.size()){ int k=K; while(k--){ c.push_back(b[cc+k]); } cc+=K; } while(cc<b.size()){ c.push_back(b[cc]); cc++; } cc=0; while(cc<c.size()){ if(cc==0){ printf("%05d %d ",c[cc].fadd,c[cc].num); }else{ printf("%05d\n%05d %d ",c[cc].fadd,c[cc].fadd,c[cc].num); } cc++; } cout<<"-1"; fclose(stdin); system("pause"); return 0; }
相关文章推荐
- PAT (Basic Level) Practise (中文)1025. 反转链表 (25)C语言
- PAT (Basic Level) Practise (中文) 1025. 反转链表 (25)
- PAT Basic Level 1025. 反转链表(25)
- PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)
- PAT (Basic Level) Practise (中文)1025. 反转链表 (25)
- PAT (Basic Level) Practise (中文)1025. 反转链表 (25)
- PAT BASIC LEVEL 1025. 反转链表 (25)
- PAT (Basic Level)1025. 反转链表
- PAT1025 BASIC:反转链表 (25)
- PAT(Basic Level)_1025_反转链表
- C++ - PAT - 1025. 反转链表 (25)
- Pat(Basic Level)Practice--1025(反转链表)
- PAT(Basic Level) 反转链表 (25)
- PAT Basic 1025. 反转链表 (25)(C语言实现)
- PAT basic-level 1025 反转链表 笔记
- 【PAT】1025 反转链表(25)basic
- 1025. 反转链表 (25)-浙大PAT乙级真题java实现
- PAT1025反转链表 (25)
- PAT(Python)-1025:反转链表(25)
- 1025. 反转链表 (25)-浙大PAT乙级真题