Ленточка - 2
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
Расположенную вертикально прямоугольную бумажную ленточку с закрепленным нижним концом стали складывать следующим образом:
- на первом шаге ее согнули пополам так, что верхняя половина легла на нижнюю либо спереди (P - сгибание) либо сзади (Z - сгибание),
- на последующих n-1 шагах выполнили аналогичное действие с получающейся на предыдущем шаге согнутой ленточкой, как с единым целым.
Затем ленточку развернули, приведя ее в исходное состояние. На ней остались сгибы - ребра от перегибов, причем некоторые из ребер оказались направленными выпуклостью к нам (K - ребра), а некоторые - от нас (O - ребра). Ребра пронумеровали сверху вниз числами от 1 до 2n-1.
Требуется написать программу, которая по заданной строке символов из прописных букв "O" и "K", где нахождение на i-ом месте символа "O" или "K" определяет тип ребра на расправленной полоске, находит строку из прописных "P" и "Z", определяющих последовательность типов сгибаний, посредством которых получена ленточка с этой последовательностью ребер.
Входные данные
В первой строке входного файла INPUT.TXT записано число n – количество сгибаний (n не более 20), во второй строке - строка из 2n-1 символов "O" или "K", определяющих типы ребер на расправленной ленточке.
Выходные данные
В выходной файл OUTPUT.TXT выведите строку из n символов "P" и "Z", задающую последовательность сгибаний. Если такой последовательности сгибаний не существует, то вывести в файл "NO".
Примеры
№ | INPUT.TXT | OUTPUT.TXT |
1 | 2 OOK | PZ |
2 | 2 OOO | NO |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|