¡Programming Puzzles & Code Golf está a punto de obtener un nuevo moderador , Dennis ! Este desafío es un homenaje a él y a nuestros otros moderadores activos (o recientemente activos): Doorknob , Martin Büttner y Chris Jester-Young . El título del desafío está destinado a leerse al son de la canción de Pepto Bismol .
Básicamente, vamos a invitarlos a todos a comer pizza en The Nineteenth Bite Pizzeria , ¡pero debemos asegurarnos de que lo compartan de manera justa porque algunos de los mods son adictos a la pizza!
Las pizzas que vende la pizzería son todos bloques de texto rectangulares. El ancho y la longitud de una pizza pueden ser enteros no negativos siempre que su producto sea divisible por cuatro. Cada espacio de cuadrícula en el bloque de pizza de texto representa una rebanada, por lo que siempre es posible dividir las rebanadas en cuatro grupos iguales.
Los mods ordenarán colectivamente una sola pizza, proporcionando sus parámetros de ancho y largo a su servidor en cualquier formato razonable como [width],[length]
. Justo antes de que la pizza llegue a su mesa, debe etiquetar cada rebanada con la inicial del mod que puede comerla para asegurarse de que todos compartan de manera justa. Todos deberían obtener el mismo número de rebanadas.
E
es para DennisD
es para pomo de la puertaM
es para MartinC
es para Chris
Sin embargo, los mods son un poco perspicaces y requieren que sus respectivos conjuntos de sectores estén conectados a la ruta , es decir, que todos sus sectores se puedan alcanzar unos de otros moviéndose hacia arriba, hacia abajo, hacia la izquierda y hacia la derecha, sin cruzar los de nadie más. rebanadas (y sin movimiento diagonal). No importa cómo lo hagas siempre y cuando esté hecho.
Una vez que haya etiquetado con precisión cada porción, entregue la pizza a los mods con una nueva línea final opcional.
Su etiquetadora puede ser un programa o una función y puede imprimir o devolver la pizza etiquetada. La etiquetadora más corta en mordiscos gana.
Ejemplos
Ejemplo 1
Orden: 4,1
Algunas posibles pizzas etiquetadas:
EDMC
MEDC
CDEM
Ejemplo 2
Orden: 4,4
Algunas posibles pizzas etiquetadas:
MMMM
CCCC
DDDD
EEEE
DEMC
DEMC
DEMC
DEMC
CCCC
DEEM
DEEM
DDMM
Ejemplo 3
Orden: 8,3
Algunas posibles pizzas etiquetadas:
MMMMMMCC
DDDDCCCC
DDEEEEEE
DDDCMMMM
DCDCMEEE
DCCCMEEE
Ejemplo 4
Orden: 20,5
Una posible pizza etiquetada:
DDDDDDDDDDDDMCCCCCCCCCCC
DEEEEEEEEEEDMMMMMMMCCCCC
DEEEEEEEEEEDMMMCCCCCCCCC
DEEEEEEEEEEDMMMMMMMMCCCC
DDDDDDDDDDDDMMMMMMMMMMMC
(Los D
's aquí no están simplemente conectados, pero está bien).