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

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

HotLog


 

Ленточка

(Время: 1 сек. Память: 16 Мб Сложность: 60%)

Расположенную вертикально прямоугольную бумажную ленточку с закрепленным нижним концом стали складывать следующим образом:

- на первом шаге ее согнули пополам так, что верхняя половина легла на нижнюю либо спереди (P - сгибание) либо сзади (Z - сгибание),

- на последующих n-1 шагах выполнили аналогичное действие с получающейся на предыдущем шаге согнутой ленточкой, как с единым целым.

Затем ленточку развернули, приведя ее в исходное состояние. На ней остались сгибы - ребра от перегибов, причем некоторые из ребер оказались направленными выпуклостью к нам (K - ребра), а некоторые - от нас (O - ребра). Ребра пронумеровали сверху вниз числами от 1 до 2n-1.

Требуется написать программу, которая по заданной строке символов из прописных букв «P» и «Z», определяющей последовательность типов сгибаний, и номерам ребер сообщает тип этих ребер, получившийся после данной последовательности преобразований.

Входные данные

В первой строке входного файла INPUT.TXT содержится натуральное число n – количество сгибаний ленточки (n ≤ 60), во второй строке – набор n символов из прописных английских букв «P» и «Z». Третья строка содержит в начале число k – количество рассматриваемых рёбер (k ≤ 10), а далее их номера (числа от 1 до 2n-1).

Выходные данные

В выходной файл OUTPUT.TXT выведите k символов (прописные английские буквы «K» или «O») – типы рассматриваемых ребер.

Примеры

INPUT.TXTOUTPUT.TXT
12
PP
1 1
K
22
ZZ
2 1 2
OK

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

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

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