Twoim zadaniem jest stworzenie programu, który doda losowe liczby do poprzednich kwot w ostatecznym pokazie wyścigów liczbowych.
Każdy zawodnik (kolumna) zaczyna się od 0 i dodaje 1 lub 0 do poprzedniej sumy na każdym etapie wyścigu, aż wszyscy zawodnicy osiągną wynik wymagany do wygranej. Wartość 1 lub 0 należy wybierać losowo ( tutaj można znaleźć standardową definicję losowości ). Dane wyjściowe pokażą wynik wyścigu, przy czym każda kolumna reprezentuje jednego zawodnika, w tym formacie:
>> 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
Uwaga: tylko liczby, + i = muszą być uwzględnione w danych wyjściowych.
Wejście
Twój program zaakceptuje następujące dwa parametry jako dane wejściowe:
- liczba kierowców (kolumn), która musi być większa niż dwóch
- wynik wymagany do wygranej, który musi być większy niż jeden
To jest golf golfowy - wygrywa program z najmniejszą liczbą bajtów.
Edycja: nie można wyegzekwować maksymalnego wyniku wynoszącego 9 - ma to na celu zachowanie integralności kolumny. Ponadto w wynikach można pominąć spacje między kolumnami.