QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 64 MB Total points: 100

#23720. Плакат JOI

Statistics

Японский комитет олимпиады по информатике решил изготовить плакат для рекламы сборов Японской олимпиады по информатике (JOI) этого года. Был создан плакат по мотивам логотипа JOI.

Логотип JOI

На плакате в форме квадрата печатаются $2^N \times 2^N$ латинских букв.

При $N \ge 1$ квадрат $2^N \times 2^N$ делится на $4$ квадрата размера $2^{N-1} \times 2^{N-1}$: в левом верхнем квадрате печатаются буквы J, в правом верхнем квадрате — буквы O, а в левом нижнем квадрате — буквы I. Кроме того, в правом нижнем квадрате печатается плакат размера $2^{N-1} \times 2^{N-1}$. При $N = 0$ печатается плакат размера $1 \times 1$, состоящий из одной буквы J.

Ниже показаны буквы, которые печатаются на плакате размера $8 \times 8$ в случае $N = 3$.

JJJJOOOO
JJJJOOOO
JJJJOOOO
JJJJOOOO
IIIIJJOO
IIIIJJOO
IIIIIIJO
IIIIIIIJ
Плакат при $N = 3$

В $K$-й строке готового плаката обнаружилась опечатка.

Сборы Японской олимпиады по информатике этого года уже начались. Времени на то, чтобы снова заказать печать плаката в типографии, уже нет. Поэтому было решено исправить ситуацию, наклеив на плакат правильную $K$-ю строку.

Задача

Напишите программу, которая по данным на входе целым числам $N$ и $K$ выводит $K$-ю строку плаката размера $2^N \times 2^N$.

Ограничения

  • $0 \le N \le 20$: размер плаката
  • $1 \le K \le 2^N$: выводимая строка плаката

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

Считайте из стандартного потока ввода следующие данные. Входные данные состоят из одной строки, в которой через пробел записаны целое число $N$, обозначающее размер плаката, и число $K$, обозначающее номер выводимой строки.

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

Выведите в стандартный поток вывода в одной строке $K$-ю строку плаката размера $2^N \times 2^N$.

Критерии оценки

В группах тестов стоимостью $50$ баллов $N$ не превышает $10$.

Примеры

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

1 1

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

JO

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

2 4

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

IIIJ

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

3 7

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

IIIIIIJO

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.