CCC '12 S2 - Aromatic Numbers

View as PDF

Submit solution

Points: 5
Time limit: 2.0s
Memory limit: 64M

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig
Canadian Computing Competition: 2012 Stage 1, Senior #2

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 \dots 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 ARA^{\prime}R^{\prime} with R^{\prime} 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 \times 1000 + 1 \times 500 + 2 \times 100 = 3700 and 3X2I4X has the value 3 \times 10 - 2 \times 1 + 4 \times 10 = 68.

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

3M1D2C

Output for Sample Input 1

3700

Sample Input 2

2I3I2X9V1X

Output for Sample Input 2

-16

Comments


  • 1
    John  commented on Sept. 14, 2020, 11:33 a.m.

    This problem is extremely unclear and needs revised instructions, as well as an explanation for at least one sample. It should be harder to complete the coding challenge than to actually read the instructions for it.


    • 6
      c  commented on Sept. 14, 2020, 4:54 p.m.

      DMOJ does not generally modify problem statements that we get from other sources (this is a CCC problem).

      If you have any feedback about CCC feel free to get in touch with the CEMC.


  • 3
    kylezheng7  commented on May 16, 2020, 5:01 p.m.

    Can dmoj not speak english?


  • 16
    GD_FrostByte  commented on Nov. 17, 2019, 9:37 a.m. edited

    confusion noises


  • 4
    Evan_Real  commented on Oct. 29, 2019, 7:03 p.m.

    Note: From the example 3X2I4X, because 2I(AR)'s base is smaller than 4X(A′R′), so 2I(AR) should be subtracted from the total(-2 * I = -2 * 1)


  • 7
    zsu  commented on Feb. 17, 2018, 12:04 p.m. edited

    Should the statement be "the value of pair AR must be subtracted from the total" instead of "the value of pair A′ must be subtracted from the total"?


    • -7
      TimothyW553  commented on Feb. 17, 2018, 11:24 p.m.

      This comment is hidden due to too much negative feedback. Click here to view it.


  • 8
    msa789  commented on Jan. 6, 2015, 8:02 p.m.

    I don't seem to understand this part: wherever there are consecutive symbols ARAfRf with Rf having a strictly bigger base value than R. What does it mean exactly?


  • -25
    bobhob314  commented on Jan. 5, 2015, 7:24 p.m.

    This comment is hidden due to too much negative feedback. Click here to view it.


  • -25
    bobhob314  commented on Jan. 5, 2015, 7:12 p.m.

    This comment is hidden due to too much negative feedback. Click here to view it.


    • -25
      bobhob314  commented on Jan. 5, 2015, 7:17 p.m.

      This comment is hidden due to too much negative feedback. Click here to view it.


      • -25
        bobhob314  commented on Jan. 5, 2015, 7:30 p.m.

        This comment is hidden due to too much negative feedback. Click here to view it.


        • -7
          puppy  commented on Dec. 2, 2019, 8:26 p.m.

          This comment is hidden due to too much negative feedback. Click here to view it.


        • -6
          noYou  commented on Oct. 2, 2019, 5:47 p.m.

          This comment is hidden due to too much negative feedback. Click here to view it.