anyway 就是羅馬文字->數字計算->轉回羅馬文字
遇到IV IX 這種的 就是判斷後者比前者大 就變成相減 不然就是相加
轉回羅馬字我是暴力解 ORZ
def str_to_num(str1):
dict1={"I":1,"V":5,"X":10,"L":50,"C":100,"D":500,"M":1000}
i = 0
sum1=0
while i <len(str1):
if len(str1)==1:
sum1=dict1[str1[i]]
return sum1
elif i+1<len(str1) and dict1[str1[i]]<dict1[str1[i+1]] :
sum1+=dict1[str1[i+1]]-dict1[str1[i]]
i+=2
else:
sum1+=dict1[str1[i]]
i+=1
return sum1
def num_to_str(n):
roman_list = [
("M", 1000), ("CM", 900), ("D", 500), ("CD", 400),
("C", 100), ("XC", 90), ("L", 50), ("XL", 40),
("X", 10), ("IX", 9), ("V", 5), ("IV", 4), ("I", 1)
]
if n==0:
return "ZERO"
result=""
for str1 ,num in roman_list:
while n>=num:
result+=str1
n-=num
return result
while True:
line = input().strip()
if line == "#":
break # 遇到 # 就結束
inputstr1 = line.split()
first_str = list(inputstr1[0])
second_str = list(inputstr1[1])
first_sum = str_to_num(first_str)
second_sum = str_to_num(second_str)
total = abs(first_sum - second_sum)
print(num_to_str(total))