Задача 89
Разработать способ представления римских чисел в наиболее коротком виде.

Правило записи римских цифр позволяют записывать одно и то же число несколькими способами (см. FAQ: Римские числа). Однако, всегда существует "наилучший" способ записи определенного числа.

К примеру, ниже представлены все разрешенные способы записи числа шестнадцать:

IIIIIIIIIIIIIIII
VIIIIIIIIIII
VVIIIIII
XIIIIII
VVVI
XVI

Последнее из них считается наиболее эффективным, поскольку использует наименьшее число элементов римских чисел.

В текстовом файле roman.txt (щелкнув правой кнопкой мыши, выберите 'Save Link/Target As...') размером 11KБ записана тысяча чисел правильными, но не обязательно наименьшими римскими цифрами; т.е. они отсортированы в порядке убывания и подчиняются правилу вычитания пар (для информации по поводу определений правил данной проблемы, см. FAQ).

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

Примечание: Можете считать, что все римские числа файла содержат не более четырех последовательных одинаковых единиц.

Оригинал
 
© Проект Эйлера | Translated problems from ProjectEuler.net