タイトル説明
パスワードは、私たちの生活のものに非常に重要ですので、我々はそれの秘密のゲームと言うことはできません。ハハすごい。パスワードに深いパスワードを使用して結合される次の子供は単純だが安全です。
子供がBBSに深いパスワードは、覚えやすいzvbo9441987で持っていたと仮定すると、彼はYUANzhi1987にパスワードを入れアルゴリズムは、このパスワードは、どのように、忘れて忘れて彼の名前と誕生年であるだけでなく、露骨に入れて渡されますすることなく、目立つ場所の人々は、実際のパスワードを知っています。
彼はとても私たちは皆知っている、変換され、その電話上の文字:1-1、 ABC - 2、DEF - 3、GHI - 4、JKL - 5、MNO - 6、PQRS - 7、TUV WXYZ --8 - 9、0-0、それは、対応する図面に表示され、簡単な、ディープ・サブ小文字のコードがなっている、数字や他の記号は変換しないことです
ヒントは:-2、B-2、C-2である、赤い部分が文字列ではないことに留意されたいです。。。このピットの父のタイトル
免責事項:そこには空白のパスワードはありません、と大文字で表示されたパスワードは小文字の後に戻って移動してしまう、といった:X、小文字に最初に、再び1を移動し、ないシンプルYまあ、それ。、zはああ戻って移動したのを覚えています。
説明を入力します。
入力テストデータを複数含みます。入力ファイルの終わりまで、100文字よりもはや平文パスワードを入力しません
出力説明:
ディープサブ実際の出力暗号文
例1
輸出
コピーzvbo9441987
参照ディスカッション:
リンク:https://www.nowcoder.com/questionTerminal/7960b5038a2142a18e27e4c733855dac?f=discussion
出典:牛オフネットワーク
#include<iostream>
#include<string>
using
namespace
std;
const
string dict1=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
;
const
string dict2=
"bcdefghijklmnopqrstuvwxyza22233344455566677778889999"
;
char
Char_Change(
char
a){
for
(
int
i=0;i<dict1.size();i++)
if
(dict1[i]==a)
return
dict2[i];
return
a;
}
int
main(){
//string data="YUANzhi1987";
string data;
while
(getline(cin,data)){
for
(
int
i=0;i<data.size();i++)
data[i] = Char_Change(data[i]);
cout<<data<<endl;
}
return
0;
}