結果
問題 |
No.405 ローマ数字の腕時計
|
ユーザー |
![]() |
提出日時 | 2019-08-22 14:01:41 |
言語 | Haskell (9.10.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,658 bytes |
コンパイル時間 | 4,766 ms |
コンパイル使用メモリ | 188,032 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-12 08:52:10 |
合計ジャッジ時間 | 5,652 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 WA * 11 RE * 2 |
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default [1 of 2] Compiling Main ( Main.hs, Main.o ) [2 of 2] Linking a.out
ソースコード
data ArabiacNumber = Zero --0 dummy | I --1 | II --2 | III --3 | IIII --4 | V --5 | VI --6 | VII --7 | VIII --8 | IX --9 | X --10 | XI --11 | XII --12 deriving (Show, Eq, Ord, Enum) next :: ArabiacNumber -> ArabiacNumber next Zero = Zero next XII = I next a = succ a convertToArabiacNumberFromString :: String -> ArabiacNumber convertToArabiacNumberFromString "O" = Zero convertToArabiacNumberFromString "I" = I convertToArabiacNumberFromString "II" = II convertToArabiacNumberFromString "III" = III convertToArabiacNumberFromString "IIII" = IIII convertToArabiacNumberFromString "V" = V convertToArabiacNumberFromString "VI" = VI convertToArabiacNumberFromString "VII" = VII convertToArabiacNumberFromString "VIII" = VIII convertToArabiacNumberFromString "IX" = IX convertToArabiacNumberFromString "X" = X convertToArabiacNumberFromString "XI" = XI convertToArabiacNumberFromString "XII" = XII fixTime :: Int -> ArabiacNumber fixTime n | n <= 0 = toEnum $ 12 + n | n >= 13 = if n `mod` 12 == 0 then XII else toEnum $ n `mod` 12 | otherwise = toEnum n main :: IO () main = do [s, t] <- words <$> getLine let i = (read :: String -> Int) t j = fromEnum $ convertToArabiacNumberFromString s if i < 0 then print $ fixTime $ j - ((abs i) `div` 12) else print $ fixTime $ j + i