結果

問題 No.18 うーさー暗号
ユーザー 情報学生
提出日時 2019-08-14 19:07:42
言語 Haskell
(8.6.2)
結果
AC  
実行時間 3 ms
コード長 393 Byte
コンパイル時間 680 ms
使用メモリ 8,916 KB
最終ジャッジ日時 2019-08-14 19:07:44

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
01.txt AC 2 ms
6,872 KB
02.txt AC 2 ms
6,868 KB
03.txt AC 2 ms
6,872 KB
04.txt AC 3 ms
6,868 KB
05.txt AC 2 ms
6,868 KB
06.txt AC 2 ms
6,872 KB
07.txt AC 2 ms
8,912 KB
08.txt AC 3 ms
8,916 KB
09.txt AC 2 ms
6,868 KB
10.txt AC 2 ms
6,872 KB
99_system_test1.txt AC 2 ms
6,868 KB
99_system_test2.txt AC 1 ms
6,872 KB
99_system_test3.txt AC 2 ms
6,872 KB
テストケース一括ダウンロード
コンパイルメッセージ
[1 of 1] Compiling Main             ( Main.hs, Main.o )
Linking a.out ...

ソースコード

diff #
import Data.Char

move_left :: Char -> Int -> Char
move_left c n = if n == 26 
                    then c 
                    else if (ord c - n) < 65
                        then chr (26 - n + ord c)
                        else chr (ord c - n)

solve :: String -> String
solve xs = map (\(c, n) -> move_left c n) $ zip xs (cycle [1..26])

main = do
    xs <- getLine
    putStrLn $ solve xs
0