回分類題庫
z044: D. 傳紙條是很辛苦的
關鍵字: 2015 NPSC 國中組初試

測資點 : 10 | Time Limit : 10000 ms | Memory Limit : 128000 KB
Accepted : 111 Times / 105 Users | Submit : 194 Times / 109 Users | Accepted rate : 96%
題目加入時間 : 2018-11-08 17:17

Content: 简体中文

喵喵跟貓貓喜歡在上課的時候傳紙條,為了避免被傳遞紙條的同學知道紙條上寫了些什麼,喵喵跟貓貓之間約定了個加解密的法。他們預先約定了a z 的排列,稱之為「密碼表」,加密就是根據那個排列來置換成新的字,解密就反向操作。

為了替換便起,他們只會使⽤⼩寫字以及底線‘_’ 來隔開每個字。需要注意的是,替換只會替換英,底線並不會被替換。

舉例來說,如果密碼表是“rjfzowngxeqkmcihtdyvlbpasu”,則表的‘a’對應到‘r’、‘b’對應到‘j’、‘c’對應到‘f’ ……以此類推。this_is_a_secret_message” 加密後會變成“vgxy_xy_r_yofdov_moyyrno”。

,喵喵跟貓貓覺得每張紙條都要這樣加密實在是太累了。因此他們想請你寫程式,幫他們的訊息進加密或解密。

Input:

恰有四

⼀⾏個為“encrypt” 或“decrypt” 的字串,表要加密或者是解密。第⼆⾏度為26 寫字字串,為加解密的密碼表。第三個正整數N,代表要加密或解密的訊息度。第四度為N 的字串S,代表要加密或解密的訊息。

1≤ N ≤ 100

S 中只會有英⽂⼩寫字或底線‘_’

Output:

請輸出⼀⾏,包含加密或解密的結果。

請注意不要輸出任何多餘的字元,且不要忘記最後的換 

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
Sample Input 1 
encrypt
rjfzowngxeqkmcihtdyvlbpasu
24
this_is_a_secret_message

Sample Input 2 
decrypt
rjfzowngxeqkmcihtdyvlbpasu
24
vgxy_xy_r_yofdov_moyyrno

Sample Input 3
decrypt
psivaykmbjgtcouhwdrxzelnfq
52
iuokdpxztpxbuor_mada_br_fuzd_ytpk_ohri_br_ru_plaruca

Sample Output :

Sample Output 1
vgxy_xy_r_yofdov_moyyrno

Sample Output 2
this_is_a_secret_message

Sample Output 3
congratulations_here_is_your_flag_npsc_is_so_awesome

Hint :

Author :

2015 NPSC 國中組初試 (管理員:Chang)

  Solve it!   Status Forum