回分類題庫
h102: B.老蚯的寶物
關鍵字: NPSC 2012 高中組初賽

測資點 : 2 | Time Limit : 10000 ms | Memory Limit : 128000 KB
Accepted : 38 Times / 36 Users | Submit : 125 Times / 46 Users | Accepted rate : 78%
題目加入時間 : 2013-11-04 15:35

Content: 简体中文

傳說中,地球深處住著一隻老蚯蚓─老蚯,他可以藉由把自己砍成兩半而多產生一隻蚯蚓,所以能從一隻蚯蚓變成兩隻,前半段為本尊(老蚯蚓),後半段為產生的新蚯蚓。老蚯蚓會持續地把自己砍成兩半,而新產生的每一隻蚯蚓也都擁有一樣的能力來產生更多的蚯蚓。於是過了若干年後,蚯蚓已經遍佈世界的各個角落,泥土裡時常能找到蚯蚓的蹤跡。

而蚯蚓們在地底挖挖挖,常常會找到一些寶物,身為最初的那一隻蚯蚓---老蚯,他偶爾會整理一下蚯蚓們找到的寶物。

最近老蚯發現他的收藏多了一台筆記型電腦,但是人類使用的輸入系統和蚯蚓習慣的不太一樣。

於是身為老蚯好友的你,想要幫他寫一個英文打字系統。一開始螢幕上會是一個空字串(長度為 0 的字串)。接下來會有底下的指令: 

 保證每次給的U 值都不會超過目前的指令數,且 L 將會是大小寫英文字母或數字( [A-Za-z0-9] )。

值得一提的是,undo 這個指令,會從現在開始往前連續取消 U 個指令。

如果取消的是pushfront L 這個指令,則把L 從目前字串首刪除;

如果取消的是pushback L 這個指令,則把L 從目前字串尾刪除;

但是如果取消的是undo x,則是要依指令輸入的順序重新依序執行當時被取消的 x 個指令。

舉個例子來說,如果依序執行了以下的指令,那螢幕上的字串則會這樣變化:

Input:

輸入的第一行有個正整數 T (T<=20),代表測試資料的組數。

對於每一組測試資料,該組第一行都會有個正整數 N (N<=2000),表示這組測試資料有 N 個指令。 

接下來會有 N 行,每行代表一個指令。 

Output:

對於每一個指令結束後,輸出一行螢幕上目前的結果。

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
2
9
pushfront m
pushfront t
pushback t
undo 2
undo 1
pushback 5
pushback 1
pushback 4
undo 5
3
pushfront 1
pushfront 5
pushback 4

Sample Output :

m
tm
tmt
m
tmt
tmt5
tmt51
tmt514
tmt
1
51
514

Hint :

Author :

NPSC 2012 高中組初賽 (管理員:sagit)

  Solve it!   Status Forum