結果
問題 | No.518 ローマ数字の和 |
ユーザー |
|
提出日時 | 2017-06-21 12:35:33 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 12 ms / 2,000 ms |
コード長 | 1,725 bytes |
コンパイル時間 | 182 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 6,400 KB |
最終ジャッジ日時 | 2024-10-02 10:46:32 |
合計ジャッジ時間 | 1,173 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
# -*- coding: utf-8 -*-def ator(i):s = ""t4 = i // 1000t35 = (i % 1000) // 500t3 = (i % 500) // 100t25 = (i % 100) // 50t2 = (i % 50) // 10t15 = i % 10 // 5t1 = i % 5s += "M" * t4if t35 == 1 and t3 == 4:s += "CM"elif t3 == 4:s += "CD"else:s += "D" * t35 + "C" * t3if t25 == 1 and t2 == 4:s += "XC"elif t2 == 4:s += "XL"else:s += "L" * t25 + "X" * t2if t15 == 1 and t1 == 4:s += "IX"elif t1 == 4:s += "IV"else:s += "V" * t15 + "I" * t1return sdef rtoa(s):sum = 0if "IV" in s:sum += 4s = s.replace("IV", "")if "IX" in s:sum += 9s = s.replace("IX", "")if "XL" in s:sum += 40s = s.replace("XL", "")if "XC" in s:sum += 90s = s.replace("XC", "")if "CD" in s:sum += 400s = s.replace("CD", "")if "CM" in s:sum += 900s = s.replace("CM", "")for c in s:if c == 'I' :sum += 1elif c == 'V':sum += 5elif c == 'X':sum += 10elif c == 'L':sum += 50elif c == 'C':sum += 100elif c == 'D':sum += 500elif c == 'M':sum += 1000return sumdef solve(input):roma = input[1].split()sum = 0for r in roma:sum += rtoa(r)if sum < 4000:return ator(sum)else:return "ERROR"passif __name__ == "__main__":input = []input += [raw_input()]input += [raw_input()]print solve(input)