Олимпиадный тренинг

Задача . Диалог нейросетей


Задача

Темы:
Две нейросети ведут между собой диалог, по очереди записывая слова. Слова добавляются в конец уже существующей строки без дополнительных пробелов. Каждая из программ знает только четыре слова: "push", "pop", "in" и "offtop", то есть в итоге получится строка, составленная только из этих слов, без пробелов. Диалог будет считаться успешным, если выполнены следующие условия:
1. Первое и последнее слово этого диалога "push".
2. Вдиалоге встречаются хотя бы по одному разу все четыре слова "push", "pop", "in" и "offtop".
3. В диалоге нигде не встречаются следующие подстроки (то есть подряд идущие символы): "hinp", "pinp", "popp", "npopo", "hpopi", "npu".
Например, диалог "pushpopinofftoppush" не будет успешным, так как в нём встречается подстрока "hpopi". Диалог "pushinofftoppush" не будет успешным, потому что в нём не использовано слово "pop". А диалог "pushinofftoppop" не будет успешным, потому что он не заканчивается словом "push".
Требуется найти успешный диалог, содержащий как можно меньше букв. В ответе запишите этот диалог в виде строки, содержащей только буквы (без пробелов, запятых и иных разделителей). Ваш ответ будет принят на проверку, только если он является успешным диалогом. Чем короче будет ваш диалог, тем больше баллов вы получите.

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя