#include <iostream>using namespace std;struct CompListNode{ int val; CompListNode *ptr; CompListNode *next; CompListNode(int data):val(data),ptr(NULL),next(NULL){}//构造函数没有返回类型};CompListNode * CreatList(int n){ int val=0; CompListNode *pHead,*pCur,*pTemp; pHead=new CompListNode(0); pTemp=pHead; for(int i=0;i<n;i++) { cin>>val; pCur=new CompListNode(val); pTemp->next=pCur; pTemp=pCur; } pTemp->next=NULL; pTemp=pHead; pCur=pHead->next; int next_index; for(int i=0;i<n;i++) { cin>>next_index; if(next_index!=0) { while(next_index>0) { pTemp=pTemp->next; next_index--; } pCur->ptr=pTemp; } pCur=pCur->next; pTemp=pHead; } return pHead;}void PrintList(CompListNode *pHead){ CompListNode *pCur=pHead->next; while(pCur!=NULL) { cout<<pCur->val<<" "; if(pCur->ptr==NULL) cout<<"0"<<endl; else cout<<pCur->ptr->val<<endl; pCur=pCur->next; }}int main(){ int n; while(cin>>n) { CompListNode *pHead; pHead=CreatList(n); PrintList(pHead); } return 0;}/************************************************************** Problem: 1524 User: road Language: C++ Result: Accepted Time:120 ms Memory:1652 kb****************************************************************/