Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [PASCAL] Красивые номера телефона


Автор: RoDeX 20.9.2008, 08:00
Вы, наверное, замечали, что многие компании используют для рекламы 'красивые' номера те-
лефонов, которые удобны для запоминания потенциальными клиентами. Но что делать, если номер
вашей компании ничем не примечателен? Можно присмотреться к нему повнимательнее, а вдруг,
если перегруппировать цифры номера некоторым образом, номер станет намного красивее? Напри-
мер, если у вашей компании номер 872-73-33, то его можно сделать красивее, если перегруппировать
цифры так: 8727-333.
Введем следующую оценку красоты разбиения номера. Будем разбивать номер дефисами на
группы размером от 2 до 4 цифр. Теперь красотой разбиения назовем сумму баллов, которые при-
носит каждая группа. Эти баллы будем считать, пользуясь следующей таблицей.

Шаблон группы                                 Баллы
aa                                                         2
aba                                                       2
aab, abb                                              2
aaa                                                       3
abac, baca                                          2
abab                                                    3
aabb                                                    3
abba                                                    4
baaa, abaa, aaba, aaab                   3
aaaa                                                    5

В этой таблице символами 'a','b','c' обозначены различные цифры. Например под шаблон
'aab' подходят группы '223','667', но не подходят '123' и '888'.
Пользуясь предложенной оценкой, найдите наиболее красивое разбиение заданного номера.
Формат ввода:

Входной файл содержит одну строку из 7 цифр - заданный телефонный номер.
Формат вывода:

Выведите в первой строке выходного файла наиболее красивое разбиение номера, а во второй -
величину его красоты.
Если разбиений с максимальной величиной красоты несколько, выведите в выходной файл любое
из этих разбиений.

Пример ввода:
8727333

Пример вывода:
8727-333
5

Пример ввода:
8827291

Пример вывода:
88-272-91
4

Автор: I_Am_Rock 20.9.2008, 12:19
См. личку

Автор: RoDeX 21.9.2008, 22:39
Люди, очень нужна ваша помощь smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)