あなたの仕事は、究極のナンバーレースの対決で以前の合計に乱数を追加するプログラムを作成することです。
各レーサー(列)は0から始まり、すべてのレーサーが勝つために必要なスコアに達するまで、レースの各ステップで前の合計に1または0を加算します。1または0はランダムに選択する必要があります(ランダムの標準的な定義はここにあります)。出力には、各列が1人のレーサーを表す、次の形式でレースの結果が表示されます。
>> racers:5,score needed:2
0 0 0 0 0 # all racers start at 0
+ + + + + # add
1 0 0 0 1 # random 1 or 0
= = = = = # equals
1 0 0 0 1 # sum
+ + + + +
0 0 0 0 1
= = = = =
1 0 0 0 2 # winner!
+ + + +
1 1 1 1
= = = =
2 1 1 1
+ + +
1 1 1
= = =
2 2 2 # losers
注:出力に含める必要があるのは、数字の+および=だけです。
入力
プログラムは、次の2つのパラメーターを入力として受け入れます。
- レーサー(列)の数。2より大きい必要があります。
- 勝つために必要なスコア。1以上である必要があります
これはコードゴルフで、バイト数が最も少ないプログラムが優先されます。
編集:強制できない最大スコア9があります。これは、列の整合性を維持するためです。また、列間のスペースは出力で省略できます。