Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Ленточка - 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.TXTOUTPUT.TXT
12
OOK
PZ
22
OOO
NO

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]

Красноярский краевой Дворец пионеров, (c)2006 - 2020, E-mail: admin@acmp.ru