喵喵跟貓貓喜歡在上課的時候傳紙條,為了避免被傳遞紙條的同學知道紙條上寫了些什麼,喵喵跟貓貓之間約定了⼀個加解密的⽅法。他們預先約定了⼀組a到z的排列,稱之為「密碼表」,⽽加密就是根據那個排列來置換成新的字,解密就反向操作。
為了替換⽅便起⾒,他們只會使⽤⼩寫字⺟以及底線 ‘_’ ⽤來隔開每個字。需要注意的是,替換只會替換英⽂字⺟,底線並不會被替換。
舉例來說,如果密碼表是 “rjfzowngxeqkmcihtdyvlbpasu”,則表⽰原⽂的 ‘a’ 對應到 ‘r’、
‘b’ 對應到 ‘j’、‘c’ 對應到 ‘f’ ……以此類推。⽽ “this_is_a_secret_message” 加密後會變成
“vgxy_xy_r_yofdov_moyyrno”。
然⽽,喵喵跟貓貓覺得每張紙條都要這樣加密實在是太累了。因此他們想請你寫⽀程式,幫他們的訊息進⾏加密或解密。
輸⼊恰有四⾏。
第⼀⾏是⼀個為 “encrypt” 或 “decrypt” 的字串,表⽰要加密或者是解密。第⼆⾏有⼀個⻑度為 26 的⼩寫字⺟字串,為加解密⽤的密碼表。第三⾏有⼀個正整數 N,代表要加密或解密的訊息⻑度。第四⾏有⼀個⻑度為 N 的字串 S,代表要加密或解密的訊息。
請輸出⼀⾏,包含加密或解密的結果。請注意不要輸出任何多餘的字元,且不要忘記最後的換⾏。
decrypt psivaykmbjgtcouhwdrxzelnfq 52 iuokdpxztpxbuor_mada_br_fuzd_ytpk_ohri_br_ru_plaruca
congratulations_here_is_your_flag_npsc_is_so_awesome
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |