Files
contests/2022/city/12/expresii/README.md
2025-04-05 20:00:27 +03:00

3.0 KiB
Raw Permalink Blame History

Римские арифметические выражения

  • Городская Олимпиада Молдовы по информатике
  • Год: 2022
  • Класс: 12
  • Задача: 2

В римской системе счисления используется 7 цифр, представленные следующими буквами латинского алфавита: I, V, X, L, C, D и M. В детсятичной системе рассматриваемые цифры имеют следующие значения:
I - 1
V - 5
X - 10
L - 50
C - 100
D - 500
M - 1000

Напоминаем, что римская система счисления является непозиционной. Число, записанное в римской системе, читается слева направо. Десятичное значение числа определяется путем суммирования отдельных десятичных значений каждой из цифр, если только текущая цифра не предшествует цифре с более высоким значением. В этом случае десятичное значение текущей цифры вычитается из десятичного значения следующей цифры.
Примеры:

X - 10
IX - 9
XIII - 13
XIV - 14
MMCIX - 2109
MMXXII - 2022

Задание

Напишите программу для вычисления десятичного значения римских арифметических выражений.

Входные данные

Файл expresii.in содержит в единственной строке римское арифметическое выражение.

Выходные данные.

Файл expresii.out должен содержать в единственной строке целое число значение римского арифметического выражения из входного файла, записанное в десятичной системе счисления.

Ограничения.

  • Абсолютное десятичное значение римского арифметического выражения из входного файла не превышает 2 * 10^9. Ограничения на время выолнения и на объём используемой памяти приведены на странице "Общее описание задач". Исходный файл должен иметь одно из названий expresii.pas, expresii.c или expresii.cpp

Пример 1

expresii.in

XIV*MMCIX-MMXXII+V*XL



expresii.out

27704

Похожие задачи

  1. 227. Basic Calculator II
  2. 13. Roman to Integer