演算法競賽入門經典第二部分基礎篇
阿新 • • 發佈:2018-12-18
第6章資料結構和基礎
指標的連結串列實現方式是,當前節點的next指向下一個節點,用陣列模擬就是 for(int i=next[0];i!=0;i=next[i]) i=next[i];就是一條鏈。
你有一個破損的鍵盤。鍵盤上的所有鍵都可以正常工作,但有時Home鍵或者End鍵會自動按下。你並不知道鍵盤存在這一問題,而是專心打稿子,甚至連顯示器都沒開啟。當你開啟顯示器時之後,展現在你面前的是一段悲劇文字。你的任務時在開啟顯示器之前計算出這段悲劇文字。
輸入包含多組資料。每組資料佔一行,包含不超過100000個字母,下劃線,字元"["或者"]"。其中"["表示HOME,"]"表示END鍵。輸入結束標誌為檔案結束符(EOF)。
Sample Input
This_is_a_[Sample]_text [[]][][]Nihao_I_am_a_Sample_Input This_pr[oblem_has_a_100]0[m]s_time_limit Maybe_theres_no_bracket
Sample Output
SampleThis_is_a__text Nihao_I_am_a_Sample_Input moblem_has_a_100This_pr0s_time_limit Maybe_theres_no_bracket
以這個輸入為例。
ABC[DE]F
首先在ABC的時候,是按順序連結的 0->1->2->3
核心就是 next[i]=next[cur]相當於指標建立中的 p->next=*L->next;(一個是讓next[i]=0,一個是讓p->next=NULL) next[cur]=i 相當於指標建立中的 *L->next=p;(一個讓cur->i 一個讓L的next->p)