プログラミングパズルとコードゴルフは、新しいモデレーター、デニスを獲得しようとしています!この課題は、彼と私たちの他のアクティブな(または最近アクティブ)モデレーターへのオマージュであるドアノブ、マーティンBüttner、そしてクリス・ジェスター・ヤング。チャレンジタイトルはペプトビスモルの歌の曲を読むことを意図しています。
基本的に、我々はすべてのピザにそれらを扱うつもりPizzeriaの一口十九、しかしので、我々は確かに彼らはかなりそれを共有するために必要ないくつかの改造がピザ中毒であることが知られています!
ピッツェリアが販売するピザは、すべて長方形のテキストブロックです。ピザの幅と長さは、その製品が4で割り切れる限り、任意の非負の整数にできます。テキストピザのブロック内の各グリッドスペースはスライスを表すため、スライスを常に4つの等しいグループに分割することができます。
MODは単一のピザをまとめて注文し、その幅と長さのパラメーターをなどの合理的な形式でサーバーに提供します[width],[length]
。ピザがテーブルに到着する直前に、すべてのスライスが公平に共有されるように、各スライスに食べられるmodのイニシャルをラベル付けする必要があります。全員が同じ数のスライスを取得する必要があります。
E
デニス用ですD
ドアノブ用M
マーティン用ですC
クリスのためです
ただし、MODは少し手間がかかり、それぞれのスライスセットがパス接続されている必要があります。つまり、すべてのスライスは、他の人のクロスを越えずに上下左右に移動することで互いに到達できる必要があります。スライス(対角線を移動しない)。それが行われている限り、これをどうやってやっても構いません。
各スライスに正確にラベルを付けたら、オプションの末尾の改行を付けてピザをmodに配信します。
ラベラーはプログラムまたは関数であり、ラベル付けされたピザを印刷または返却できます。一口の最短ラベラーが勝ちます。
例
例1
注文: 4,1
いくつかの可能なラベル付きピザ:
EDMC
MEDC
CDEM
例2
注文: 4,4
いくつかの可能なラベル付きピザ:
MMMM
CCCC
DDDD
EEEE
DEMC
DEMC
DEMC
DEMC
CCCC
DEEM
DEEM
DDMM
例3
注文: 8,3
いくつかの可能なラベル付きピザ:
MMMMMMCC
DDDDCCCC
DDEEEEEE
DDDCMMMM
DCDCMEEE
DCCCMEEE
例4
注文: 20,5
考えられるラベル付きピザ:
DDDDDDDDDDDDMCCCCCCCCCCC
DEEEEEEEEEEDMMMMMMMCCCCC
DEEEEEEEEEEDMMMCCCCCCCCC
DEEEEEEEEEEDMMMMMMMMCCCC
DDDDDDDDDDDDMMMMMMMMMMMC
(ここのD
'sは単純に接続されているわけではありませんが、大丈夫です。)