PAT甲级1133 Splitting A Linked List:[C++题解]链表
生活随笔
收集整理的這篇文章主要介紹了
PAT甲级1133 Splitting A Linked List:[C++题解]链表
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 題目分析
- 題目鏈接
題目分析
題意:鏈表分組的感覺。開三個vector。然后遍歷鏈表,數(shù)據(jù)小于0的結點放入一個數(shù)組,數(shù)據(jù)位于[0,K]的放入一個數(shù)組,數(shù)據(jù)大于K的結點放入一個數(shù)組。然后輸出即可。
ac代碼
#include<bits/stdc++.h> using namespace std; const int N =1e5+10; int n , m,h; int e[N],ne[N];int main(){cin>> h>> n>> m;for(int i=0;i<n;i++){int address ,data , next;cin>> address >> data >> next;e[address] = data,ne[address] =next;}vector<int> a,b,c;for(int i= h; i!= -1; i=ne[i]){if(e[i]<0) a.push_back(i);else if(e[i]>=0 && e[i]<=m) b.push_back(i);else c.push_back(i);}for(int i=0;i<b.size();i++) a.push_back(b[i]);for(int i=0;i<c.size();i++) a.push_back(c[i]);for(int i=0;i<a.size();i++){printf("%05d %d ",a[i],e[a[i]]);if(i+1== a.size()) cout<< -1<<endl;else printf("%05d\n",a[i+1]);} }題目鏈接
PAT甲級1133 Splitting A Linked List
總結
以上是生活随笔為你收集整理的PAT甲级1133 Splitting A Linked List:[C++题解]链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PAT甲级1097 Deduplicat
- 下一篇: PAT甲级1052 Linked Lis