日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NOIP200905潜伏者

發布時間:2025/4/9 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NOIP200905潜伏者 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

試題描述
R國和S國正陷入戰火之中,雙方都互派間諜,潛入對方內部,伺機行動。歷經艱險后,潛伏于S國的R國間諜小C終于摸清了S國軍用密碼的編碼規則:
1)S國軍方內部欲發送的原信息經過加密后在網絡上發送,原信息的內容與加密后所的內容均由大寫字母‘A’—‘Z’構成(無空格等其他字母)。
2)S國對于每個字母規定了對應的“密字”。加密的過程就是將原信息中的所有字母替換為其對應的“密字”。
3)每個字母只對應一個唯一的“密字”,不同的字母對應不同的“密字”。“密字”可以和原字母相同。
例如,若規定‘A’的密字為‘A’,‘B’的密字為‘C’(其他字母及密字略),則原信息“ABA”被加密為“ACA”?,F在,小C通過內線掌握了S國網絡上發送的一條加密信息及其對應的原信息。小C希望能通過這條信息,破譯S國的軍用密碼。小C的破譯過程是這樣的:掃描原信息,對于原信息中的字母x(代表任一大寫字母),找到其在加密信息中的對應大寫字母y,并認為在密碼里y是x的密字。如此進行下去直到停止于如下的某個狀態:
1)所有信息掃描完畢,‘A’—‘Z’所有26個字母在原信息中均出現過并獲得了相應的“密字”。
2)所有信息掃描完畢,但發現存在某個(或某些)字母在原信息中沒有出現。
3)掃描中發現掌握的信息里有明顯的自相矛盾或錯誤(違反S國密碼的編碼規則)。例如某條信息“XYZ”被翻譯為“ABA”就違反了“不同字母對應不同密字”的規則。
在小C忙得頭昏腦脹之際,R國司令部又發來電報,要求他翻譯另外一條從S國剛剛截取到的加密信息?,F在請你幫助小C:通過內線掌握的信息,嘗試破譯密碼。然后利用破譯的密碼,翻譯電報中的加密信息。
輸入
共3行,每行為一個長度在1到100之間的字符串。第1行為小C掌握的一條加密信息。第2行為第1行的加密信息所對應的原信息。第3行為R國司令部要求小C翻譯的加密信息。輸入數據保證所有字符串僅由大寫字母‘A’—‘Z’構成,且第1行長度與第2行相等。
輸出
共1行。若破譯密碼停止時出現2,3兩種情況,請你輸出“Failed”(不含引號,注意首字母大寫,其它小寫)。否則請輸出利用密碼翻譯電報中加密信息后得到的原信息。
輸入示例
【輸入樣例1】
AA
AB
EOWIE
【輸入樣例2】
QWERTYUIOPLKJHGFDSAZXCVBN
ABCDEFGHIJKLMNOPQRSTUVWXY
DSLIEWO
【輸入樣例3】
MSRTZCJKPFLQYVAWBINXUEDGHOOILSMIJFRCOPPQCEUNYDUMPP
YIZSDWAHLNOVFUCERKJXQMGTBPPKOIYKANZWPLLVWMQJFGQYLL
FLSO
輸出示例
【輸出樣例1】Failed
【輸出樣例2】Failed
【輸入樣例3】NOIP

?

?

?

代碼:

?

#include<iostream> using namespace std; char ch[26]={'0'}; int main() {string str1,str2,str3;cin>>str1>>str2>>str3;//str1為密文,str2為明文,str3為需要翻譯的密文 int len1=str1.length(),len3=str3.length();//獲取密文的長度 if(len1<26){ cout<<"Failed";return 0;//若果密文的長度比26個字母長度短,就輸出Failed,終止程序 }for(int i=0;i<len1;i++){for(int j=0;j<i;j++){if(str2[i]==str2[j]&&str1[i]!=str1[j]){cout<<"Failed";//如果明文中有相同的字母但在密文中對應的字母不相同,程序錯誤輸出Failed,終止程序 return 0;}}ch[str1[i]-'A']=str2[i];}for(int i=0;i<len3;i++) cout<<ch[str3[i]-'A']; }

?

  

?

轉載于:https://www.cnblogs.com/zsh2016/p/5545759.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的NOIP200905潜伏者的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。