Задача #4297

Работа со строками

Сложнее ЕГЭ

(А. Ходарин) Текстовый файл состоит из заглавных букв латинского алфавита — цифр римской системы счисления I, V, X, L, C, D, M. Определите в прилагаемом файле максимальное количество идущих подряд символов, которые представляют собой корректную римскую запись десятичного числа. Если найдено несколько таких последовательностей, выберите ту, которая обозначает наибольшее десятичное число. В ответе запишите индекс последнего символа, которым заканчивается запись этого римского числа. Нумерация символов в текстовом файле начинается с нуля.
Для выполнения этого задания следует написать программу.

Примечание.
В римской системе счисления приняты следующие правила:
1) в качестве цифр используют заглавные латинские буквы I, V, X, L, C, D, M, числовое значение которых 1, 5, 10, 50, 100, 500 и 1000 соответственно;
2) цифры V, L, D никогда не повторяются;
3) цифры I, X, C, M могут повторяться не более трёх раз подряд;
4) если меньшая цифра стоит слева от большей, её значение вычитается из большей; вычитать можно только одну цифру I, Х или С; вычитаемое не может быть меньше одной десятой от уменьшаемого;
5) если цифра стоит справа от большей или равной, их значения складываются;
6) цифры в записи числа располагаются слева направо в порядке невозрастания их числового значения за исключением случаев вычитания.

Например, запись MMXXVI является корректной и обозначает число 2026, а записи MDDIVXXX, IVIV, XCXC и MCMCMDCCCLXXXVIII являются некорректными.

Файлы к задаче

Ответ
Новая
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть Нажми, чтобы скрыть

Ответ

215
Быстрый переход
Перейти к задаче