結果

問題 No.518 ローマ数字の和
ユーザー Yuki_Utaai
提出日時 2018-02-24 16:05:22
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 942 bytes
コンパイル時間 186 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 11,008 KB
最終ジャッジ日時 2024-10-13 13:41:41
合計ジャッジ時間 1,641 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other AC * 17 WA * 2
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

def roman(n,s):
roman=["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]
arabic=[1000,900,500,400,100,90,50,40,10,9,5,4,1]
number=[0 for i in range(n)]
for i in range(n):
j=0
while j<len(s[i]):
for k in range(len(roman)):
if len(roman[k])==1 and str((s[i]))[j]==roman[k]:
number[i]+=arabic[k]
j+=1
break
elif j<len(s[i])-1:
if len(roman[k])==2 and str((s[i]))[j]+str((s[i]))[j+1]==roman[k]:
number[i]+=arabic[k]
j+=2
break
ans_arabic=sum(number)
ans_roman=""
m=0
if ans_arabic>=4000:
print("ERROR")
else:
while ans_arabic>0:
if ans_arabic>=arabic[m]:
ans_roman+=roman[m]
ans_arabic-=arabic[m]
else:
m+=1
print(ans_roman)
n=int(input())
s=input().split()
roman(n,s)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0