"the " , "this", "that"のいずれかが見つかるまでシフトする。
キーは3つだったため、配列で回さずそのままifで通した。
/*************************
* 2012/07/03 *
* AOJ Volume0 0017 *
* Caesar Cipher *
* crane *
**************************/
#include<iostream>
#include<string>
using namespace std;
int main(){
string input;
while(getline(cin, input)){
for(int i=0; i<26; i++){
for(int j=0; j<input.length(); j++){
if('a'<=input.at(j) && input.at(j) <='z')
input.at(j) = ((input.at(j) - 'a' + 1) % 26) + 'a';
}
if(input.find("the")!=-1 || input.find("this")!=-1 || input.find("that")!=-1){
break;
}
}
cout << input << endl;
}
return 0;
}
0 件のコメント:
コメントを投稿