Broken Keyboard(悲劇文字)

2022-09-18 17:24:10 字數 1041 閱讀 5638

你有乙個鍵盤,鍵盤上所有的鍵都能正常使用,只是home鍵和end鍵有時會自動按下。你並不知道這一情況,而是專心地打稿子,甚至連顯示器都沒開電源。當你開啟顯示器之後,展現在你面前的是一段悲劇文字。你的任務是根據給出的鍵盤上實際輸入的內容,計算並輸出這段悲劇文字(即顯示器上展現的文字)

input:

一行文字不超過1000000個字元,只包括字母、下劃線、字元'['(表示home鍵)和字元']'(表示end鍵盤)。

output:

乙個字串,即符合題目描述的悲劇文字。

example:

input:

this_is_a_[beijing]_tex

output:

beijingthis_is_a__text

問題分析:

該問題最簡單的想法是利用陣列來儲存這些資料,然後用乙個變數來儲存游標位置,輸入乙個字元相當於在陣列中插入乙個字元,但是沒插入乙個字元將要移動大量的資料,程式的開銷會很大。

為了解決這個問題,我們可以利用靜態鍊錶解決這個問題

先用乙個字串將每個字元儲存起來,s[1-n],對每個s[i]都會對應乙個next[i]游標,儲存的是下乙個結點的下標,同時利用乙個curr,表示游標位置,並用last記錄最後元素位置,s[0]是乙個虛擬字元,用作頭結點。

#include#includeusing namespace std;

const int size=100000+1;

int last; //顯示屏上的最後乙個字元

int cur; //游標位置,總在當前s[i]的左方

char s[size]; //用以儲存string

int main()

; //每個s[i]的游標,初始化為0

while(scanf("%s",s+1)==1)

}//輸出

for(int j=next[0];j!=0;j=next[j]) //依據next中指定的順序輸出

cout

}

是喜還是悲

聽趙士元說 24號可以查成績了 前天我很早就起來了 結果川大的 不知道怎麼的老是打不開 心理毛毛的 也不想再 繼續睡了 在電腦前傻做了一上午 中午吃飯的時候聽說川大有個易思博 深圳的 公司要開宣講會招聘 於是邀上張瀚,小余 小曉一起去投簡歷了 路上突然聽學校的同學發簡訊說可以查成績了 而且好像高楊沒...

悲催的IT 屌絲

突然發現好久沒有在這兒裡寫部落格了。忙,統一的,不變的藉口。哈哈。這一兩年來,越來越覺得it的業從業者的悲催。稱之為屌絲一點也不為過。現如之的專案越來越難打了,也越來越難做了。乙個專案要運作很久,有的都可以長到幾年。再短的也得半年,單子的額度也許並不大。但是我們面對的客戶都很nb。有人說,這是賣方市...

代悲白頭翁

代悲白頭翁 是 唐代詩人 劉希夷的 作品。此詩雖是擬古樂府,但構思精妙,開拓了全新的意境。詩中多處運用對比手法,大量使用重疊語句,迴圈復沓,再者以四個問句引領,一唱三歎,那種韶華不 再的無奈辛酸在這反覆追問詠歎中被層層濃重著色,具有強大的穿透力。此詩感傷情調極為濃郁,但並不頹廢,風格清麗婉轉,曲盡其...