QOJ.ac

QOJ

حد الوقت: 2 s حد الذاكرة: 1024 MB مجموع النقاط: 100 قابلة للهجوم ✓

#18493. Обычная задача на раскраску плиток

الإحصائيات

В мире существует множество задач на раскраску и замощение плитками. Эта задача — одна из них. В ней рассматриваются L-тромино — фигуры, состоящие из 3 соединенных в форме буквы L квадратных плиток со стороной 1. С учетом поворотов существует 4 различных формы L-тромино, как показано ниже.

Рисунок I.1: L-тромино

Рассмотрим квадратную доску размера $2^k \times 2^k$ плиток для некоторого положительного целого числа $k$. Известно, что какую бы плитку мы ни удалили с этой доски, оставшуюся часть всегда можно полностью и без наложений покрыть L-тромино. Способов такого расположения L-тромино может быть несколько.

После размещения L-тромино мы хотим раскрасить каждое из них так, чтобы все L-тромино были различимы. Два L-тромино называются различимыми, если любое L-тромино имеет цвет, отличный от цвета всех остальных L-тромино, граничащих с ним по стороне.

Поскольку эти L-тромино лежат на плоскости, согласно знаменитой теореме о четырех красках, их всегда можно раскрасить, используя не более 4 цветов, так, чтобы все L-тромино были различимы. Интересно, что какую бы плитку ни удалили, всегда существует такое расположение L-тромино, которое можно раскрасить с использованием не более чем 3 цветов так, чтобы все L-тромино были различимы.

Даны размер доски и координаты удаленной плитки. Найдите пример расположения и раскраски L-тромино в соответствии с описанными выше правилами.

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

В первой строке заданы целое число $T$ — количество тест-кейсов, и целое число $k$, определяющее размер доски ($1 \le T \le 2^{10}$, $1 \le k \le 10$).

Значение $T \times 2^{2k}$ не превосходит $2^{22}$.

В следующих $T$ строках содержатся описания тест-кейсов. Каждая строка содержит два целых числа $a$ и $b$, разделенных пробелом ($1 \le a, b \le 2^k$).

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

Для каждого тест-кейса выведите $2^k$ строк, содержащих раскраску доски размера $2^k \times 2^k$ после удаления плитки в $a$-й строке и $b$-м столбце.

При этом $i$-я строка должна описывать расположение и раскраску плиток в $i$-й строке доски.

Цвета плиток должны быть обозначены символами a, b или c, а удаленная плитка — символом @. Разумеется, два соседних L-тромино, граничащих по стороне, не могут иметь одинаковый цвет.

Примеры

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

2 1
1 2
2 2

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

a@
aa
bb
b@

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

1 3
7 6

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

bbccaacc
baacabbc
ccabcbaa
cabbccab
aaccaabb
bbcbbacc
bcabc@bc
ccaaccbb

Примечание

Рисунок I.2: Неправильный ответ, так как два соседних L-тромино, граничащих по стороне, отмеченной красной сплошной линией, имеют одинаковый цвет

Рисунок I.3: Один из возможных правильных ответов для доски размера $2^3 \times 2^3$ при $a = 7, b = 6$

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.