El mapa incompleto

Ver en PDF

Enviar solución

Puntos: 100
Límite de tiempo: 60.0s
Límite de memoria: 256M

Tipo de problema
Lenguajes permitidos
ReKarel

El mapa incompleto

Ilustración

Con el código de acceso, Karel abre el nivel 1 de NEXUS. Del otro lado de la puerta no hay enemigos ni tesoros, sino un mundo que parece sin terminar.

En el mundo hay un plano dividido en una cuadrícula de 3 \times 3 casillas. Glitch explica que NEXUS genera sus escenarios, de forma recursiva, a partir de una pequeña máscara de 3 \times 3 secciones. La máscara muestra secciones activas y bloqueadas. En un mapa terminado, el patrón de esa máscara se repite recursivamente dentro de cada sección activa, una y otra vez, hasta que las secciones tengan el tamaño de una sola casilla. Las siguientes imágenes muestran el proceso de repetición:

Máscara inicial

Máscara inicial, las secciones amarillas están bloqueadas y las blancas activas. El patrón debe repetirse dentro de las secciones activas.

Primera iteración

Observa como en cada una de las secciones activas de la cuadrícula previa se repitió el patrón original.

Segunda iteración

Este es el último paso, ya que las secciones finales son de tamaño 1. Después de este paso, el mapa está completo.

Según Glitch, el constructor de mundos fue dañado y Karel debe completar el patrón manualmente. Sin embargo, mientras Karel replica la figura, NEXUS muestra una advertencia inesperada: "El proceso que se está copiando por todo el mapa no pertenece al juego."

Problema

El mundo de Karel es un cuadrado de N \times N casillas, donde N es una potencia de 3. Independientemente de su tamaño, el mundo está dividido conceptualmente en 9 secciones cuadradas iguales, acomodadas en una cuadrícula de 3 \times 3.

Cada sección está activa o bloqueda:

  • las secciones activas no contienen zumbadores.
  • las secciones bloqueadas están llenas de montones de 1 zumbador.

Estas nueve secciones forman la máscara del mapa.

En cada sección activa del mundo, Karel debe divirirla nuevamente en una cuadrícula de 3 \times 3 y repetir en ella la máscara original.

Este proceso se repite dentro de cada sección encendida hasta que todas las secciones tengan lado 1.

Entrada

Ejemplo de entrada

En el ejemplo, N=9. Las ocho secciones exteriores están bloqueadas y la sección central está activa. Las líneas grises no son paredes, están en la imagen únicamente para mostrar la división conceptual de la máscara.

Salida

Ejemplo de salida

La misma máscara se aplica dentro de cada sección encendida. Como cada nueva subsección tiene lado 1, el proceso termina después de una repetición.

Consideraciones

  • Karel inicia en la posición (1,1) viendo hacia el Norte.
  • Karel lleva INFINITOS zumbadores en la mochila.
  • El mundo es un cuadrado de lado N, donde N es una potencia de 3.
  • No hay paredes internas.
  • Cada una de las nueve secciones iniciales está completamente llena de montones de 1 zumbador o completamente vacía.
  • La máscara contiene al menos una sección activa y al menos una sección bloqueada.
  • Para obtener los puntos de este problema, solo importan los zumbadores finales en el mundo; la posición y orientación final de Karel no importan.

Subtareas

  • ⭐ Subtarea 1 (25 puntos): La máscara tiene el patrón que se muestra en el mundo de entrada del ejemplo: únicamente la sección central está activa.
  • Subtarea 2 (25 puntos): El mundo siempre mide 27 \times 27 casillas.
  • Subtarea 3 (25 puntos): Exactamente una de las nueve secciones de la máscara está activa.
  • Subtarea 4 (25 puntos): Sin consideraciones adicionales.

Comentarios

No hay comentarios por el momento.