UPC 1790 模擬 潛伏者

2021-08-17 21:08:10 字數 1723 閱讀 7989

時間限制: 1 sec  

記憶體限制: 128 mb

提交: 251  

解決: 58 [

提交][

狀態][

討論版][命題人:

admin]

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:通過內線掌握的資訊,嘗試破譯密碼。然後利用破譯的密碼,翻譯電報中的加密資訊。

共 3 行,每行為乙個長度在 1 到 100 之間的字串。 

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

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

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

輸入資料保證所有字串僅由大寫字母『a』-『z』構成,且第 1 行長度與第 2 行相等。

共 1 行。

若破譯密碼停止時出現 2,3 兩種情況,請你輸出「failed」(不含引號,注意首字母大寫,其它小寫)。

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

aa 

ab eowie

failed
#include #include #include #include using namespace std;

int main()

for(int i=0; i<26; i++)

}if(!flag) cout << "failed" << endl;

else

}/**

abcdefghijklmnopqrstuvwxyz

bcdefghigklmnopqrstuvwxyzz

abcdef

output: failed

abcdefghijklmnopqrstuvwxyz

bcdefghijklmnopqrstuvwxyza

abcde

output: bcdef

*/

JZOJ 雜題選講 51nod1790

有乙個初始為0的計數器n,每次有兩種操作 n 1 把n不含前導0的二進位制接到字串s的末尾 目標是把s變成給出的字串x 求方案數和最小步數 x 5000 設f i j 表示放到x的第i位,n為 j,i 的方案,最小值同理 每次列舉上乙個位置轉移,這樣是o x 3 並且不好判斷二進位制數的大小 按x的...

UPC 方格取數

題目描述 在 n 行 m 列的方格矩陣中,每個方格都包含乙個數字。小明可以從任意方格出發開始移動。每次移動可以移到與當前方格有一條邊相鄰的方格 即向上 下 左或右方向移動 1 格,且不能移出邊界 除此之外,你移動到的方格中的數字必須比當前方格中的數字更大。請你幫助小明程式設計規劃移動路徑,使路徑上經...

UPC 購買巧克力(貪心)

時間限制 1 sec 記憶體限制 128 mb 提交 狀態 題目描述 shoi這次科技競賽取得了好成績,想慶祝一番,他手頭總共有m元,購買巧克力來讓同學分享快樂。他在sh商店逸擇購買,在巧克力商品櫃中共有n塊巧克力,每塊巧克力的 是a i 元 商家為了 提供給他k張優惠券,使用方法是 對於每塊巧克力...