Задача на динамическое программирование про телефон

программирование информатика алгоритм

Есть такая задача:

"Если вы обратили внимание, то клавиатура многих телефонов выглядит следующим образом: Использование изображенных на клавишах букв позволяет представить номер телефона в виде легко запоминающихся слов, что бывают часто более удобным, чем традиционная запись телефона в виде последовательности цифр. Многие фирмы пользуются этим и стараются подобрать себе номер телефона так, чтобы он содержал как можно больше букв из имени фирмы.

Требуется написать программу, которая преобразует исходный цифровой номер телефона в соответствующую последовательность букв и цифр, содержащую как можно больше символов из названия фирмы. При этом буквы из названия фирмы должны быть указаны в полученном номере в той же последовательности, в которой они встречаются в названии фирмы. Например, если фирма называется IBM, а исходный номер телефона — 246, то замена его на BIM не допустима, тогда как замена его на 2IM или В4М является правильной.
Первая строка входного файла содержит название фирмы. Она состоит только из заглавных букв латинского алфавита, количество которых не превышает 80 символов. Вторая прока содержит номер телефона в виде последовательности цифр. Цифр в номере телефона также не более 80.
В единственной строке выходного файла должно содержаться число букв из измененного номера."

Очевидно, что она на динамическое программирование. Но я не могу придумать метод, которым её стоит решать. Прошу помощи. Какой должна быть таблица и по каким правилам её стоит заполнять? Хотя бы в общих чертах. Заранее благодарен.
Ответы:
Задача действительно на динамику. Вспоминать алгоритм мне лень, но я нашёл своё старое решение.
Надеюсь это как-то поможет.
Этот алгоритм - Т9. Набирая слово с включённым Т9, фактически делаешь то же самое.
Так что всё что тебе требуется - словарь Т9.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.