e933. pC. 字串加密
標籤 :
通過比率 : 46人/54人 ( 85% ) [非即時]
評分方式:
Special

最近更新 : 2020-04-01 06:37

內容

給定一個字串 s 和 字典內容,你的目標是要設計一個簡單的加密演算法,對於 s 進行加密以得到加密字串 w。
(全部出現的字串皆由小寫字母 a - z 所構成)

對於這個演算法,有幾項條件必須滿足:

1. 在 s 和 w 中的字母對應關係必須是一對一的
為了讓正向推導和反向推導結果唯一,
不能夠存在「同一種字母可以對應到兩種不同結果」或者是「兩種不同字母可以對應到同一種結果」。
例如:a → c、a → d (x)        e → g、f → g (x)

2. 字母不能夠對應到本身
為了讓加密結果不至於和原始字串過於相近,每一種字母都不能夠對應到自己本身。
例如:a → a (x)

3. 最後完成的加密字串 w 必須出現在題目所給定的字典內容中
為了讓加密字串看起來不要像亂碼一樣,
題目會給定字典內容,請讓加密字串 w 是字典的其中一個字詞。
例如:
字典中有 bee、barber、low、old、zigzag
對於原始字串 s = low,可以加密為加密字串 w = old

綜合上述三個條件,
給定一個字串 s 和 字典內容,請設計一個簡單的加密演算法,以輸出一組合理的加密字串 w。
當有多個合理的加密字串時,請輸出任一組合理的加密字串;當沒有任何合理的加密字串,請輸出"impossible"。

輸入說明

第一行有一個待加密的字串 s(1 ≤ s 的字串長 ≤ 10)
接下來有任意多行,每行有一個字串 w,代表字典內容

(本題所有出現字串,皆由小寫字母 a - z 所構成)

輸出說明

任一組合理的加密字串;
若沒有任何合理的加密字串,則請輸出"impossible"

範例輸入 #1
low
bee
barber
low
old
zigzag
範例輸出 #1
old
範例輸入 #2
zigzag
able
about
above
abroad
across
act
action
barber
low
old
zigzag
範例輸出 #2
barber
範例輸入 #3
low
bee
barber
low
zigzag
範例輸出 #3
impossible
測資資訊:
記憶體限制: 64 MB
提示 :
標籤:
出處:
2014大學學測推甄申請二階 [管理者: mushroom.cs9 ... (mushroom) ]

本題狀況 本題討論 排行

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