結果
| 問題 |
No.405 ローマ数字の腕時計
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-09-30 08:46:35 |
| 言語 | Standard ML (MLton 20210117) |
| 結果 |
AC
|
| 実行時間 | 1 ms / 2,000 ms |
| コード長 | 781 bytes |
| コンパイル時間 | 3,088 ms |
| コンパイル使用メモリ | 691,708 KB |
| 実行使用メモリ | 7,716 KB |
| 最終ジャッジ日時 | 2025-09-30 08:46:40 |
| 合計ジャッジ時間 | 4,576 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 27 |
ソースコード
fun readStr () =
let
fun scan reader stream = SOME (StringCvt.splitl (not o Char.isSpace) reader (StringCvt.skipWS reader stream))
in
valOf (TextIO.scanStream scan TextIO.stdIn)
end
fun readInt () =
valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn)
fun findIndex x nil = ~1
| findIndex x (h::tl) =
if x = h then 0
else 1 + findIndex x tl
val () =
let
val s1 = readStr ()
val t = readInt ()
val l = ["XII", "I","II","III","IIII","V","VI","VII","VIII","IX","X","XI"]
val tempIndex = (t + findIndex s1 l) mod 12
val index = if tempIndex < 0 then 12 + tempIndex
else tempIndex
val ans = List.nth (l, index)
in
print (ans ^ "\n")
end