시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 512 MB | 97 | 79 | 71 | 81.609% |
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 ARARAR . . . AR, where each A is an Arabic digit, and each R is a Roman numeral. Each pair AR 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 A can be 0, 1, 2, 3, 4, 5, 6, 7, 8 or 9. A Roman numeral R 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 AR is A times the base value of R. Normally, you add up the values of the pairs to get the overall value. However, wherever there are consecutive symbols ARA0R0 with R0 having a strictly bigger base value than R, the value of pair AR must be subtracted from the total, instead of being added.
For example, the number 3M1D2C has the value 3 ∗ 1000 + 1 ∗ 500 + 2 ∗ 100 = 3700 and 3X2I4X has the value 3 ∗ 10 − 2 ∗ 1 + 4 ∗ 10 = 68.
Write a program that computes the values of aromatic numbers.
The input is a valid aromatic number consisting of between 2 and 20 symbols.
The output is the decimal value of the given aromatic number.
3M1D2C
3700
2I3I2X9V1X
-16