Programmation Puzzles & Code Golf est sur le point d'avoir un nouveau modérateur , Dennis ! Ce défi est un hommage à lui et à nos autres modérateurs actifs (ou récemment actifs): Doorknob , Martin Büttner et Chris Jester-Young . Le titre du défi est destiné à être lu sur l'air de la chanson de Pepto Bismol .
En gros, nous allons les traiter à la pizza à la Dix - neuvième Bite Pizzeria , mais nous devons nous assurer qu'ils partagent assez parce que certains des les mods sont connus pour être accros à pizza!
Les pizzas vendues par la pizzeria sont toutes des blocs de texte rectangulaires. La largeur et la longueur d'une pizza peuvent être des nombres entiers non négatifs dans la mesure où leur produit est divisible par quatre. Chaque espace de grille dans le bloc de pizza texte représente une tranche; il est donc toujours possible de scinder les tranches en quatre groupes égaux.
Les mods commanderont collectivement une seule pizza, en fournissant ses paramètres de largeur et de longueur à leur serveur dans un format raisonnable, tel que [width],[length]
. Juste avant que la pizza n'arrive à leur table, vous devez étiqueter chaque tranche avec l'initiale du mod qui arrive à la manger pour s'assurer qu'elles partagent toutes de manière juste. Tout le monde devrait avoir le même nombre de tranches.
E
est pour DennisD
est pour DoorknobM
est pour MartinC
est pour Chris
Les mods sont un peu perspicaces, cependant, et exigent que leurs ensembles respectifs de tranches soient reliés par un chemin , c’est-à-dire que toutes leurs tranches puissent être atteintes les unes des autres en montant, en bas, à gauche et à droite, sans croiser celui des autres. tranches (et ne se déplaçant pas en diagonale). Peu importe comment vous faites cela tant que c'est fait.
Une fois que vous avez étiqueté chaque tranche avec précision, livrez la pizza aux mods avec une fin de ligne optionnelle.
Votre étiqueteuse peut être un programme ou une fonction et peut imprimer ou retourner la pizza étiquetée. L'étiqueteuse la plus courte des piqûres gagne.
Exemples
Exemple 1
Ordre: 4,1
Quelques pizzas étiquetées possibles:
EDMC
MEDC
CDEM
Exemple 2
Ordre: 4,4
Quelques pizzas étiquetées possibles:
MMMM
CCCC
DDDD
EEEE
DEMC
DEMC
DEMC
DEMC
CCCC
DEEM
DEEM
DDMM
Exemple 3
Ordre: 8,3
Quelques pizzas étiquetées possibles:
MMMMMMCC
DDDDCCCC
DDEEEEEE
DDDCMMMM
DCDCMEEE
DCCCMEEE
Exemple 4
Ordre: 20,5
Une pizza étiquetée possible:
DDDDDDDDDDDDMCCCCCCCCCCC
DEEEEEEEEEEDMMMMMMMCCCCC
DEEEEEEEEEEDMMMCCCCCCCCC
DEEEEEEEEEEDMMMMMMMMCCCC
DDDDDDDDDDDDMMMMMMMMMMMC
(Ils D
ne sont pas simplement connectés mais ça va.)