1009: 愷撒Caesar密碼


1009: 愷撒Caesar密碼

時間限制: 10 Sec  內存限制: 128 MB
提交: 349  解決: 215
[提交][狀態][討論版]

題目描述

Julius Caesar 生活在充滿危險和陰謀的年代。為了生存,他首次發明了密碼,用於軍隊的消息傳遞。假設你是Caesar 軍團中的一名軍官,需要把Caesar 發送的消息破譯出來、並提供給你的將軍。消息加密的辦法是:對消息原文中的每個字母,分別用該字母之后的第5個字母替換(例如:消息原文中的每個字母A都分別替換成字母F),其他字符不 變,並且消息原文的所有字母都是大寫的。 密碼字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

輸入

最多不超過100個數據集組成。每個數據集由3部分組成:起始行:START 密碼消息:由1到200個字符組成一行,表示Caesar發出的一條消息結束行:END 在最后一個數據集之后,是另一行:ENDOFINPUT

輸出

每個數據集對應一行,是Caesar 的原始消息。

樣例輸入

START
NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX
END
START
N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ
END
START
IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ
END
ENDOFINPUT

樣例輸出

IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES
I WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROME
DANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE

提示

 

來源

2001289

#include <iostream>
#include <string.h>
using namespace std;
int main(){
    string str = "VWXYZABCDEFGHIJKLMNOPQRSTU";
    string inputStr;
    int i;
    while(1){
     getline(cin,inputStr);
     if(inputStr=="ENDOFINPUT") break;
     getline(cin,inputStr);
     for(i=0;inputStr[i]!='\0';i++){
      if(inputStr[i]>='A'&&inputStr[i]<='Z'){
       cout<<str[inputStr[i]-'A'];
      }else{
       cout<<inputStr[i];
      }
     }
     cout<<endl;
     getline(cin,inputStr);
   
    }
 return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM