Problem S2: Aromatic Numbers
2012 · S2 · Original problem · DMOJProblem Description
This question involves calculating the value of aromatic numbers which are a combination of Arabic digits and Roman numerals.
An aromatic number is of the form , where each is an Arabic digit, and each is a Roman numeral. Each pair contributes a value described below, and by adding or subtracting these values together we get the value of the entire aromatic number.
An Arabic digit can be 0, 1, 2, 3, 4, 5, 6, 7, 8 or 9. A Roman numeral is one of the seven letters I, V, X, L, C, D, or M. Each Roman numeral has a base value:
| Symbol | I | V | X | L | C | D | M |
|---|---|---|---|---|---|---|---|
| Base value | 1 | 5 | 10 | 50 | 100 | 500 | 1000 |
The value of a pair is times the base value of . Normally, you add up the values of the pairs to get the overall value. However, wherever there are consecutive symbols with having a strictly bigger base value than the value of pair must be subtracted from the total, instead of being added.
For example, the number 3M1D2C has the value and 3X2I4X has the value .
Write a program that computes the values of aromatic numbers.
Input Specification
The input is a valid aromatic number consisting of between 2 and 20 symbols.
Output Specification
The output is the decimal value of the given aromatic number.
Sample Input 1
3M1D2COutput for Sample Input 1
3700Sample Input 2
2I3I2X9V1XOutput for Sample Input 2
-16