#BW100. 罗马的数字系统

罗马的数字系统

题目描述

小杨同学正在研究古罗马的数字系统,他需要编写一个程序将罗马数字转换为对应的整数。罗马数字由 I(1)、V(5)、X(10)、L(50)、C(100)、D(500)、M(1000) 这七个字符组成,每个字符对应固定的数值。通常数值从左到右按从大到小排列,但存在六种运算规则:IV(4)IX(9)XL(40)XC(90)CD(400)CM(900)。现给定一个符合规则的罗马数字字符串,请你帮小杨同学将其转换为整数。

输入格式

第一行一个字符串 ss (1s151 \le |s| \le 15),表示待转换的罗马数字。字符串仅包含字符 'I', 'V', 'X', 'L', 'C', 'D', 'M',且保证是有效罗马数字,对应整数范围为 [1,3999][1, 3999],不存在跨位等非法写法(如 ILIM 等)。

输出格式

一个整数,表示罗马数字 ss 对应的十进制数值。

输入输出样例

III
3
IV
4
IX
9
LVIII
58

解释:L=50L=50V=5V=5III=3III=3,总和 50+5+3=5850+5+3=58

MCMXCIV
1994

解释:M=1000M=1000CM=900CM=900XC=90XC=90IV=4IV=4,总和 1000+900+90+4=19941000+900+90+4=1994