Większość ludzi zna pułapkę polegającą na liczeniu owiec na sen. Jest stado owiec, niektóre skaczą przez płot, a ty liczysz owce, które skaczą. Podobno pomaga to uspokoić umysł i wprawia cię w stan snu, dzięki czemu zasypiasz.
Oto owca ASCII zwrócona w prawo, czekająca na policzenie:
'00^>
||
Oto owca ASCII skacząca przez płot:
'00^>
/\
++
Oto jeden skierowany w lewo, który został już policzony:
<^00'
||
Wyzwanie
Biorąc pod uwagę dwie liczby całkowite wejściowe, na m, z n > 2opisując Ile łącznie owiec, a m > 0mówiąc ile owce zostały już policzone, wyjście ASCII Art reprezentacja liczenia owiec zasnąć.
Teraz zwrot akcji:
- Ze względu na wielkość kojców, w których znajdują się owce, górny rząd może pomieścić maksymalnie
10owce, nie licząc aktualnie skaczących owiec, które również muszą zawsze znajdować się w górnym rzędzie. - Kolejne rzędy nie mogą mieć owiec poza ich kojcami (nie możesz mieć więcej owiec po lewej stronie w drugim rzędzie niż w pierwszym rzędzie, i to samo dla prawej).
- Jeśli jest
11więcej lub więcej owiec, w górnym rzędzie musi10znajdować się plus skacząca owca. - Początkowe / końcowe białe znaki i białe znaki między owcami nie mają znaczenia, o ile:
- Między owcami jest co najmniej jedna biała postać
- Wszystkie postacie są odpowiednio ustawione.
Dopóki te zasady są spełnione, rzeczywiste rozmieszczenie owiec zależy od twojego wdrożenia.
Przykłady
Na przykład tutaj jest n=3i m=1, w najprostszym przypadku.
'00^>
'00^> /\ <^00'
|| ++ ||
Oto n=11i m=6najbardziej owiec, które mogą zmieścić się na jednej linii poziomej.
'00^>
'00^> '00^> '00^> '00^> /\ <^00' <^00' <^00' <^00' <^00' <^00'
|| || || || ++ || || || || || ||
Oto inny przykład tego, z n=11im=1
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00'
|| || || || || || || || || ++ ||
Większy przykład z n=30im=12
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00' <^00'
|| || || || || || || || ++ || ||
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> <^00' <^00'
|| || || || || || || || || ||
'00^> <^00' <^00'
|| || ||
<^00' <^00'
|| ||
<^00' <^00'
|| ||
<^00' <^00'
|| ||
Oto przykład z n=17im=2
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00' <^00'
|| || || || || || || || ++ || ||
'00^> '00^> '00^> '00^> '00^> '00^>
|| || || || || ||
Oto przykład z n=19im=3
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00' <^00' <^00'
|| || || || || || || ++ || || ||
'00^> '00^> '00^> '00^> '00^> '00^> '00^>
|| || || || || || ||
'00^>
||
Zauważ, że wszystkie są przykładami . W ostatnim przypadku możesz zakończyć tworzenie pionowego zestawu owiec po prawej stronie, co pozwoli dopasować lewą stronę do dwóch rzędów. A może kwadrat owcy 2x2 po prawej stronie, który pasowałby również owce po lewej stronie w dwóch rzędach. Itp.
I / O i reguły
- Dane wejściowe można przyjmować w dowolnym rozsądnym formacie i dowolną dogodną metodą .
- Wiodące / końcowe znaki nowej linii lub inne białe znaki są opcjonalne, pod warunkiem, że znaki są odpowiednio ustawione.
- Dopuszczalny jest pełny program lub funkcja. Jeśli funkcja, możesz zwrócić dane wyjściowe zamiast je drukować.
- Dane wyjściowe mogą być wysyłane do konsoli, zwracane jako lista ciągów, zwracane jako pojedynczy ciąg itp.
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).
n=11im=9
n=11takich przypadków 0<m<=10. Zmusza to do posiadania wszystkich owiec w górnym rzędzie i dynamicznej liczby owiec po lewej ( n-1-m) i prawej stronie ( m) ogrodzenia i nie można używać stałych rozmiarów kojców.