QOJ.ac

QOJ

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

#18493. Problema común de colorear baldosas

الإحصائيات

En el mundo hay muchos problemas de coloreado y de pavimentación con baldosas. Este problema es uno de ellos, y trata sobre el L-tromino, una figura formada al unir tres baldosas cuadradas de lado 1 en forma de L. Incluyendo las rotaciones, existen 4 formas posibles para un L-tromino, como se muestra a continuación.

Figura I.1: L-tromino

Consideremos un tablero cuadrado formado por $2^k \times 2^k$ baldosas para un entero positivo $k$. Se sabe que, sin importar de qué posición se retire una única baldosa, siempre es posible cubrir exactamente la parte restante del tablero colocando L-trominos de forma que no se solapen. Puede haber múltiples formas de colocar los L-trominos de esta manera.

Después de colocar los L-trominos de esta forma, queremos colorear cada uno de ellos de manera que todos los L-trominos sean distinguibles. Decimos que un L-tromino es distinguible si su color es diferente al de todos los demás L-trominos con los que comparte un lado.

Dado que estos L-trominos están situados en un plano, por el famoso teorema de los cuatro colores, es posible colorearlos de manera que todos sean distinguibles utilizando únicamente 4 colores. Curiosamente, sin importar de qué posición se retire una baldosa, siempre existe una disposición tal que todos los L-trominos se pueden colorear de forma distinguible utilizando a lo sumo 3 colores.

Dada la dimensión del tablero y la posición de la baldosa retirada, encontremos un ejemplo de cómo colocar y colorear los L-trominos de acuerdo con las condiciones anteriores.

Entrada

La primera línea contiene un entero $T$, que representa el número total de casos de prueba, y un entero $k$, que determina el tamaño del tablero ($1 \le T \le 2^{10}$, $1 \le k \le 10$).

Se garantiza que $T \times 2^{2k} \le 2^{22}$.

A continuación, en cada una de las siguientes $T$ líneas, se presentan dos enteros $a$ y $b$ separados por un espacio para cada caso de prueba ($1 \le a, b \le 2^k$).

Salida

Para cada caso de prueba, imprima $2^k$ líneas que representen el coloreado de los L-trominos en el tablero cuadrado de $2^k \times 2^k$ baldosas cuando se retira la baldosa en la fila $a$ y columna $b$. La $i$-ésima línea debe representar la disposición de la $i$-ésima fila del tablero. El color de cada baldosa debe ser uno de los caracteres a, b o c, y la baldosa retirada debe representarse con el carácter @. Por supuesto, dos L-trominos que compartan un lado no pueden tener el mismo color.

Ejemplos

Entrada 1

2 1
1 2
2 2

Salida 1

a@
aa
bb
b@

Entrada 2

1 3
7 6

Salida 2

bbccaacc
baacabbc
ccabcbaa
cabbccab
aaccaabb
bbcbbacc
bcabc@bc
ccaaccbb

Nota

Figura I.2: Respuesta incorrecta porque dos L-trominos adyacentes comparten el mismo color en el borde indicado por la línea roja sólida.

Figura I.3: Una de las posibles respuestas correctas para un tablero de $2^3 \times 2^3$ con $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.