Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2013, 08:19   #1
badname47
Пользователь
 
Регистрация: 03.12.2011
Сообщений: 19
По умолчанию Олимпиадная задача Pascal - 2. Файлы.

Доброго времени суток!
Не могли бы вы мне помочь с задачей?

На далекой планете Тау Кита есть непонятные нам обычаи. Например, таукитяне очень необычно для землян выбирают имена своим детям. Родители так выбирают имя ребенку, чтобы оно могло быть получено как удалением некоторого набора букв из имени отца, так и удалением некоторого набора букв из имени матери. Например, если отца зовут "abacaba", а мать "bbccaa", то их ребенок может носить имена "a", "bba", "bcaa", но не может носить имена "aaa", "ab" или "bbc". Возможно, что имя ребенка совпадает с именем отца и/или матери, если оно может быть получено из имени другого родителя удалением нескольких (возможно, ни одной) букв.
Пусть отец по имени X и мать по имени Y выбирают имя своему новорожденному ребенку. Так как в таукитянских школах учеников часто вызывают к доске в лексикографическом порядке имен учеников, то есть в порядке следования имен в словаре, то они хотят выбрать своему ребенку такое имя, чтобы оно лексикографически следовало как можно позже.
Формально, строка S лексикографически больше строки T, если выполняется одно из двух условий:
- строка T получается из S удалением одной или более букв с конца строки S;
- первые (i - 1) символов строк T и S не различаются, а буква в i-й позиции строки T следует в алфавите раньше буквы в i-й позиции строки S.
Требуется написать программу, которая по именам отца и матери находит лексикографически наибольшее имя для их ребенка.

Формат входного файла:
Первая строка входного файла содержит имя отца X. Вторая строка входного файла содержит имя матери Y. Каждое имя состоит из строчных букв латинского алфавита, включает хотя бы одну букву и имеет длину не более 10^5(5 - степень) букв.

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

Примеры:
1) name.in
abcabca
abcda
name.out
ca
2) name.in
ccba
accbbaa
name.out
ccba

Последний раз редактировалось badname47; 21.01.2013 в 08:31.
badname47 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Олимпиадная задача Pascal - файлы. badname47 Паскаль, Turbo Pascal, PascalABC.NET 1 21.01.2013 09:11
Олимпиадная задача. Godziller Фриланс 6 28.05.2012 14:10
олимпиадная задача quade1992 Паскаль, Turbo Pascal, PascalABC.NET 0 17.05.2012 18:57
олимпиадная задача danzel1 Общие вопросы C/C++ 2 21.10.2011 15:15
Олимпиадная задача. _-Re@l-_ Паскаль, Turbo Pascal, PascalABC.NET 1 09.12.2010 20:53