回分類題庫
d034: 2008 程式達人 H - 簡易替代式加密通訊技術的破解
出處:

Difficulity : 1
Accepted : 73 Times | Submit :132 Times | Clicks : 2499
Accepted : 63 Users | Submit : 65 Users | Accepted rate : 97%
Time Limit :2001 ms | Memory Limit : 32001 KBytes
題目加入時間 : 2008-10-10 10:26

Content :

將通訊的訊息加密/解密的方法有很多,其中一種方法就是簡易代替法。我們可以利用各種數字與特殊符號來表示相對應的英文字母,例如用下面的英文字母與相對應的符號與數字關係的部分對照表:

t→?, h→2, i→7, s→%, a→9, p→5, r→!, o→&, g→3, m→#, n→*, c→0, e→4, blank→+, .→=
 

Alice 可以將 This is a programming contest 參考上述的對照表之後用下面的亂碼 ?27%+7%+9+5!&3!9##7*3+0&*?4%?= 來傳送出去,接收方的 Bob 只要有上述的英文字母與數字符號的對照表就可以還原其原始的明文。在這個簡易代替式加密與解密通訊技術的轉換之中我們並不區隔英文大小寫字母的差別,也就是說 t→? 可以同時表示 T→?。另外我們也對英文字與英文字之間的空白處與標點符號用特殊代號來表示。最後明文從密文中被還原出來的時候,我們希望能夠得到一個符合英文文法結構並且有意義的句子與文章。

雖然這種簡易替代式加密通訊可以產生亂碼讓敵方 Woody 不容易一下子識破其原始真正明文的原意,但是英文字母在英文字出現的頻率還是有所不同,例如英文字母 e 出現的頻率非常的高,因此有可能在需要被破解的特定文章之中e的頻率有可能是在前幾名,另外英文字the出現的頻率也是很高,如此一來妳/你也可以推出t和h可能相對應的代號為何,如此一來可以類似滾雪球般的將其它的英文字母的相對應符號一一尋獲出來,並且產生出一個完整的英文字母與特殊符號數字的對照表出來,這樣所有用到這份對照表的密文將被破解出來,所以後來這種加密通訊的方式就因此被淘汰掉了。我們希望你能夠寫一個程式可以將所有以簡易代替式加密的密文直接將他所代表的正確的明文找出來。在此之前你必須要先提供一個英文字母和特殊符號與數字的對照表單。

Input :

我們將提供一份以特殊符號與數字和英文字母對照表所產生出來的密文提供給同學們來破解。

請使用此對照表:
a→?, b→=, c→5, d→&, e→@, f→$, g→4, h→*, i→%, j→9, k→{, l→8, m→!, n→2, o→#, p→0, q→[, r→}, s→3, t→<, u→6, v→~, w→>, x→7, y→], z→1, blank→-, ,→|, .→)
 

Output :

你們首先要根據所提供的密文盡量可能找出一份依照英文字母順序排列出所有出現在密文中的26個英文字母和相對應特殊符號與數字的對照表,並且依據這個對照表來還原其明文,並且將這份明文儘可能產生出符合文法結構並且有意義的英文句子和文章。所有的英文字母接轉換成小寫輸出。

Sample Input :

<*%3-%3-?-0}#4}?!!%24-5#2<@3<)

Sample Output :

this is a programming contest.

Hint :

解題率:0/19

Author :

(管理員:MrWrongAnswer)

  Solve it!   Status Forum (0)

C++
C
JAVA
23437. GothamKnight (2 ms , 386KB)
32878. a987123888 (4 ms , 166KB)
23599. henryokc (4 ms , 336KB)
1442. MrWrongAnswer (4 ms , 386KB)
90806. oop104701033 (6 ms , 408KB)
54570. ag100 (2 ms , 196KB)
21434. taop (2 ms , 192KB)
6972. s95703049 (2 ms , 176KB)
3051. wind0304598 (2 ms , 206KB)
2963. orange (2 ms , 200KB)
76355. ag100j (100 ms , 302KB)
50474. nwgs524513cja (100 ms , 188KB)
76354. ag100j (120 ms , 188KB)
87560. jer22366 (168 ms , 3048KB)

執行時間會受很多因素影響因此僅供參考,主機等級請看這裡