a087: B. 外星人的訊息
標籤 : 2008國中組決賽
通過比率 : 5人/5人 ( 100% ) [非即時]
評分方式:
Strictly

最近更新 : 2023-08-15 12:21

內容

2008 網際網路程式設計全國大賽 國中組決賽

外星人一直是未知的,而科學家急著想要了解是否存在的。但在地球上有許多奇特的訊息,被解讀為外星人的訊息,也是非常多科學家研究的對象,例如麥田圈就是一個相當好的例子。

麥田圈(Crop circle)是在麥田或其他農田上,透過某種力量把農作物壓平而產生出幾何圖案。此現象在 1970 年代後 期才開始引起公眾注意。目前,有眾多麥田圈事件被他人或者自己揭發為有人故意製造出來以取樂或者招攬遊客。唯麥田圈中的作物「平順倒塌」方式以及植物莖節 點的燒焦痕跡並不是人力壓平所能做到,也有麻省理工學院學生試圖用自製設備反向複製此一現象但依然未能達成,至今仍然沒有解釋該現象是何種設備或做法能夠達到。此點也是外星支持論者的主要物證基礎。

最近,科學家又在喜瑪拉雅山頂的石頭上,發現了類似外星人所留下的訊息,看起來是由一個基礎訊息和一些指令所組成,根據科學家與符號學家經過長時間的研究,終於推測出指令是如何操作,操作手冊如下:

ADD<空白>字串 A
代表在訊息後連接(字串 A)

ADH<空白>字串 B
代表在訊息前連接(字串 B)

ERA<空白>數字 1<空白>數字 2
代表刪去訊息從第(數字 1)個字到第(數字 2)個字,刪去後字串往前合併

SUB<空白>數字 3<空白>數字 4
代表擷取訊息從第(數字 3)個字到第(數字 4)個字,只保留擷取後的訊息

SPA<空白>數字 5
代表在第(數字 5)個字的地方插入一個底線 _,訊息順往後推一個字

END
代表結束操作

每個操作都是接續著,也就是說,基礎訊息經過指令 1 之後,將改變過的訊息,接著做指令 2,直到指令結束操作為止。

因為指令實在太多太繁雜了,所以想寫一支程式來完成這樣的解讀。每一個操作的實際範例請詳細參考範例輸出與輸入。

輸入說明

輸入檔中會有一組資料,第一行是一個基礎訊息字串,字串裡面只可能有英文小寫字母與底線,接下來是多筆指令,每筆指令一行,格式如題目敘述所表示,總共的指令數量不會大於 10,000,基礎字串或是指令中的字串長度都在 1~100 之間,指令中的數字都會在 1~1000 之間,不會超出目前操作的字串長度,同指令的兩個數字,後一個數字大於等於前一個數字。如果在 ERA 或是 SUB 指令中,兩個數字相同,就表示刪除或是擷取該數字的字。指令直到出現 END 才結束整個操作。整體格式如下:

 

基礎訊息字串<換行>
指令 1<換行>
指令 2<換行>
….
END<換行>

輸出說明

對每筆指令,輸出操作此指令後的訊息。但如果是 END 指令則不用輸出。

所以如果指令包含 END 共有 K 筆,則輸出 K-1 筆操作後的訊息。

範例輸入
okman_la_cc
ADD sink
ADH deep_hell
ERA 13 13
ERA 15 18
SUB 6 11
ADD itty
SPA 6
END
範例輸出
okman_la_ccsink
deep_hellokman_la_ccsink
deep_hellokmn_la_ccsink
deep_hellokmn_csink
hellok
hellokitty
hello_kitty
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (100%): 1.0s , <1K
提示 :
標籤:
2008國中組決賽
出處:
NPSC [管理者:
account404 (username)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」