【アルゴリズム問題】yukicoder no.18 うーさー暗号 by なおさん (level ☆)
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

【アルゴリズム問題】yukicoder no.18 うーさー暗号 by なおさん (level ☆)

2014-08-27 00:21

    太郎君は暗号に興味があり、新しい暗号方式を考えていました。
    そこで大昔に開発されたシーザー暗号を参考にし、
    すこし変更することでもうちょっと複雑な暗号方式を作ろうと思いつきました。

    シーザー暗号とは、平文(暗号化されていない文)のアルファベットを、
    右に N回 ずらしたもので、たとえば N = 1 の場合、
    AはBになり、MはNになり、ZはAになります。

    そこで太郎君は、文字ごとに N の値を変更することを考え、
    1文字目なら N = 1、2文字目なら N = 2、…のように、
    「i文字目の文字をi回右にずらす」ことにしました。
    (ずらした結果、文字'Z'を超える場合はシーザー暗号と同様に文字'A'へ戻ります)

    そして太郎君は、この新しい暗号方式を「うーさー暗号」と名づけました。

    入力に「うーさー暗号」で暗号化された文字列が与えられるので、
    これを復号した文字列を出力してください。


    【入力】
    S

    文字列S が1行(1024文字以内)で与えられます。
    文字列S を構成する各文字はアルファベット大文字('A'-'Z')のみで、
    復号後の文字列もすべてアルファベット大文字のみで構成されます。


    【出力】
    入力文字列を復号した文字列


    【sample1】
    BCD

    【ans1】
    AAA



    【sample2】
    ABCDEFGHIJKLMNOPQRSTUVWXYZ

    【ans2】
    ZZZZZZZZZZZZZZZZZZZZZZZZZZ



    【sample3】
    ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

    【ans3】
    YXWVUTSRQPONMLKJIHGFEDCBAZYXWVUTSRQPONMLKJIHGFEDCBAZYXWVUTSRQPONMLKJIHGFEDCBAZYXWVUTSRQPONMLKJIHGFEDCBAZ


    【本入力】

    https://gist.githubusercontent.com/yuki2006/6dd7afb8371ced7531a9/raw/3c462394c8416199005747a3262a810e08944335/yukicoder18.txt



    1st .くろとんさん C++
    http://ideone.com/AGs62j
    Haskell
    http://ideone.com/ni8wRr

    2nd.ヒロソフさん C/C++
    http://ideone.com/zFKDTn
    C#
    http://ideone.com/ek1aJw


    3rd. scacheさん Java
    http://ideone.com/qnd8xN

    4th.nanashi Python
    http://ideone.com/UCnyZa

    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。