天天看點

潛伏者(codevs 1171)

題目描述 Description

【問題描述】

R 國和S 國正陷入戰火之中,雙方都互派間諜,潛入對方内部,伺機行動。

曆盡艱險後,潛伏于 S 國的R 國間諜小C 終于摸清了S 國軍用密碼的編碼規則:

1. S 國軍方内部欲發送的原資訊經過加密後在網絡上發送,原資訊的内容與加密後所

得的内容均由大寫字母‘A’-‘Z’構成(無空格等其他字元)。

2. S 國對于每個字母規定了對應的“密字”。加密的過程就是将原資訊中的所有字母替

換為其對應的“密字”。

3. 每個字母隻對應一個唯一的“密字”,不同的字母對應不同的“密字”。“密字”可以

和原字母相同。

例如,若規定‘A’的密字為‘A’,‘B’的密字為‘C’(其他字母及密字略),則原信

息“ABA”被加密為“ACA”。

現在,小 C 通過内線掌握了S 國網絡上發送的一條加密資訊及其對應的原資訊。小C

希望能通過這條資訊,破譯S 國的軍用密碼。小C 的破譯過程是這樣的:掃描原資訊,對

于原資訊中的字母x(代表任一大寫字母),找到其在加密資訊中的對應大寫字母y,并認為

在密碼裡y 是x 的密字。如此進行下去直到停止于如下的某個狀态:

1. 所有資訊掃描完畢,‘A’-‘Z’ 所有 26 個字母在原資訊中均出現過并獲得了相應

的“密字”。

2. 所有資訊掃描完畢,但發現存在某個(或某些)字母在原資訊中沒有出現。

3. 掃描中發現掌握的資訊裡有明顯的自相沖突或錯誤(違反S 國密碼的編碼規則)。例

如某條資訊“XYZ”被翻譯為“ABA”就違反了“不同字母對應不同密字”的規則。

在小 C 忙得頭昏腦漲之際,R 國司令部又發來電報,要求他翻譯另外一條從S 國剛剛

截取到的加密資訊。現在請你幫助小C:通過内線掌握的資訊,嘗試破譯密碼。然後利用破

譯的密碼,翻譯電報中的加密資訊。

輸入描述 Input Description

第 1 行為小C 掌握的一條加密資訊。

第 2 行為第1 行的加密資訊所對應的原資訊。

第 3 行為R 國司令部要求小C 翻譯的加密資訊。

輸入資料保證所有字元串僅由大寫字母‘A’-‘Z’構成,且第1 行長度與第2 行相等。

輸出描述 Output Description

若破譯密碼停止時出現 2,3 兩種情況,請你輸出“Failed”(不含引号,注意首字母大

寫,其它小寫)。

否則請輸出利用密碼翻譯電報中加密資訊後得到的原資訊。

樣例輸入 Sample Input

【輸入輸出樣例 1】

AA

AB

EOWIE

【輸入輸出樣例 2】

QWERTYUIOPLKJHGFDSAZXCVBN

ABCDEFGHIJKLMNOPQRSTUVWXY

DSLIEWO

【輸入輸出樣例 3】

MSRTZCJKPFLQYVAWBINXUEDGHOOILSMIJFRCOPPQCEUNYDUMPP

YIZSDWAHLNOVFUCERKJXQMGTBPPKOIYKANZWPLLVWMQJFGQYLL

FLSO

樣例輸出 Sample Output

Failed

NOIP

資料範圍及提示 Data Size & Hint

【輸入輸出樣例 1 說明】

原資訊中的字母‘A’和‘B’對應相同的密字,輸出“Failed”。

【輸入輸出樣例2 說明】

字母‘Z’在原資訊中沒有出現,輸出“Failed”。

潛伏者(codevs 1171)
潛伏者(codevs 1171)

View Code