Jesteś pracownikiem modnego nowego sklepu spożywczego Half Foods i to dzień przed Świętami Bożego Narodzenia w Święto Dziękczynienia . Ponieważ sklep będzie pełen klientów pędących po żywność, sklep potrzebuje menedżera ruchu, aby wysłać wszystkich na odpowiednie linie. Będąc leniwym, chcesz zautomatyzować to, abyś mógł przejść do delikatesów, zanim wszyscy wezmą całą szynkę z indyka . Jednak wszystko, co masz przy sobie, to telefon, a pisanie na nim długich programów jest prawdziwym bólem - więc musisz poćwiczyć swoje umiejętności gry w golfa ninja .
Wyzwanie
Wizualizujmy sklep spożywczy na dwuwymiarowej siatce. Oto przykładowa siatka do wycięcia:
e
s
s
s
Y
# # #s #
#s # #s #
#s # #s #
#s #s #s #
#3 #1 #4 #
x x x x
Siatka zaczyna się od znaku e
, który reprezentuje „wylot” do reszty sklepu. Z każdym pokoleniem wszystkie gniazda w sieci spawnują shopper ( s
) bezpośrednio poniżej. Kupujący przesuwają się w dół z każdym pokoleniem, aż do ciebie ( Y
). Kiedy klient osiągnie ten sam rząd co ty, musisz teleportować go na początek linii z najmniejszą liczbą kupujących. Klient natychmiast przenosi się na linię, gdy wprowadzi się do rzędu z Y
, nie ma między nimi generacji. Linie są reprezentowane przez #
s - kolumna po #
s jest linią. Kupujący schodzą na koniec linii (reprezentowanej przez wyjście x
), a następnie zamieniają się w losową liczbę między 1
i5
. Z każdym pokoleniem należy zmniejszyć numerowanych klientów o 1
- kiedy klient do 0
nich dotrze , kończy sprawdzanie i opuszcza sklep.
Biorąc pod uwagę taką siatkę, wypisz następną generację sklepu spożywczego (przesuń wszystkich kupujących jednocześnie, przekieruj kupujących i pozwól im odejść, jeśli są gotowe).
Próbki
Wejście:
e
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Wynik:
e
s
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Wejście:
e
s
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Wynik
e
s
Y
#s # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Wejście:
e
Y
# # # #
# # # #
# # # #
#s # # #
# # # #
x x x x
(Możliwe) Wyjście:
e
s
Y
# # # #
# # # #
# # # #
# # # #
#3 # # #
x x x x
Wejście:
e
s
Y
# # # #
# # # #
# # # #
# # # #
#3 # # #
x x x x
Wynik:
e
s
Y
# #s # #
# # # #
# # # #
# # # #
#2 # # #
x x x x
Wejście:
e
Y
# # # #
# # # #
# # # #
# # # #
#1 # # #
x x x x
Wynik:
e
s
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
To jest golf golfowy , więc wygrywa najkrótszy kod.