Os quebra-cabeças de programação e o Code Golf estão prestes a conquistar um novo moderador , Dennis ! Esse desafio é uma homenagem a ele e a outros moderadores ativos (ou recentemente ativos): Maçaneta da porta , Martin Büttner e Chris Jester-Young . O título do desafio deve ser lido na música da música Pepto Bismol .
Basicamente, nós vamos tratá-los todos a pizza no século XIX mordida Pizzeria , mas precisamos ter certeza de que eles compartilhá-lo bastante, porque alguns dos mods são conhecidos por serem viciados de pizza!
As pizzas vendidas pela pizzaria são todos blocos retangulares de texto. A largura e o comprimento de uma pizza podem ser números inteiros não negativos, desde que o produto seja divisível por quatro. Cada espaço da grade no bloco de pizza de texto representa uma fatia, portanto, é sempre possível dividir as fatias em quatro grupos iguais.
Os mods pedirão coletivamente uma única pizza, fornecendo seus parâmetros de largura e comprimento ao servidor em qualquer formato razoável, como [width],[length]
. Pouco antes da pizza chegar à mesa, você precisa rotular cada fatia com a inicial do mod que a come para garantir que todas compartilhem de maneira justa. Todos devem obter o mesmo número de fatias.
E
é para DennisD
é para maçanetaM
é para MartinC
é para Chris
Os mods são um pouco persnickety, no entanto, e exigem que seus respectivos conjuntos de fatias estejam conectados ao caminho , ou seja, que todas as fatias possam ser alcançadas uma da outra movendo-se para cima, para baixo, para a esquerda e para a direita, sem cruzar as de outras pessoas. fatias (e não se movem na diagonal). O não se importa como você faz isso, desde que seja feito.
Depois de rotular cada fatia com precisão, entregue a pizza aos mods com uma nova linha opcional à direita.
Sua etiquetadora pode ser um programa ou uma função e pode imprimir ou devolver a pizza etiquetada. O marcador mais curto em mordidas vence.
Exemplos
Exemplo 1
Ordem: 4,1
Algumas possíveis pizzas rotuladas:
EDMC
MEDC
CDEM
Exemplo 2
Ordem: 4,4
Algumas possíveis pizzas rotuladas:
MMMM
CCCC
DDDD
EEEE
DEMC
DEMC
DEMC
DEMC
CCCC
DEEM
DEEM
DDMM
Exemplo 3
Ordem: 8,3
Algumas possíveis pizzas rotuladas:
MMMMMMCC
DDDDCCCC
DDEEEEEE
DDDCMMMM
DCDCMEEE
DCCCMEEE
Exemplo 4
Ordem: 20,5
Uma possível pizza rotulada:
DDDDDDDDDDDDMCCCCCCCCCCC
DEEEEEEEEEEDMMMMMMMCCCCC
DEEEEEEEEEEDMMMCCCCCCCCC
DEEEEEEEEEEDMMMMMMMMCCCC
DDDDDDDDDDDDMMMMMMMMMMMC
(Os D
aqui não estão simplesmente conectados, mas tudo bem.)