W tym wyzwaniu musisz wyświetlić grafikę ASCII balonu z wodą, biorąc pod uwagę ilość wody, którą wypełnia balon:
| __||__ |
| / # #\ |
| |######| |
| |######| |
| |######| |
| |######| |
| |######| |
| \######/ |
| |
| |
+----------+
Jak narysować balon
Aby wyświetlić balon wielkości n, wykonaj następujące kroki (uwaga: za każdym razem, gdy /używany jest symbol podziału ( ), reprezentuje on dzielenie liczb całkowitych, zaokrąglając w dół):
Narysuj pojemnik składający się z dziesięciu pionowych pasków (
|) po lewej i prawej stronie, dziesięciu myślników (-) na dole i znaku plus (+) w lewym dolnym i prawym dolnym rogu. To sprawia, że całość ma wymiary 12 x 11, a „wewnątrz” 10 x 10.| | | | | | | | | | | | | | | | | | | | +----------+Narysuj dwa pionowe słupki (otwór balonu) wyśrodkowane na środku górnego rzędu, z
n/2podkreślnikami (_) po obu stronach (w tym przykładzienbędzie to 5):| __||__ | | | | | | | | | | | | | | | | | | | +----------+Narysuj jeden ukośnik (
/) i jeden ukośnik odwrotny (\) otaczający ten górny wiersz, jeden wiersz poniżej:| __||__ | | / \ | | | | | | | | | | | | | | | | | +----------+Narysuj
nrzędy identycznie rozmieszczonych pionowych pasków, a następnie jeden rząd pary (wciąż identycznie rozmieszczonych) ukośników i ukośników:| __||__ | | / \ | | | | | | | | | | | | | | | | | | | | | | \ / | | | | | +----------+„Wypełnij” balon wodą reprezentowaną przez znak krzyżyka (
#). Zacznij od najniższego rzędu i pracuj w górę. Jeśli wiersz nie jest całkowicie wypełniony, możesz umieścić znaki skrótu w dowolnym miejscu (w poniższym przykładzie są one rozmieszczane losowo, ale możesz je umieścić, powiedzmy, po lewej stronie, jeśli chcesz).| __||__ | | / # #\ | | |######| | | |######| | | |######| | | |######| | | |######| | | \######/ | | | | | +----------+
Maksymalny nto 7, a minimalny to 0.
Wejście
Dane wejściowe będą liczbami całkowitymi i, czyli ilością znaków skrótu (wody), które należy narysować.
Nigdy nie będzie mniejsza niż 2 lub większa niż 100.
Wynik
Wyjście powinno być balonem wielkości nzawierającym iznaki skrótu (jednostki wody), gdzie njest to najniższy możliwy rozmiar, który może pomieścić ijednostki wody. Ponieważ izawsze będzie wynosić 2 lub więcej, nzawsze będzie wynosić 0 lub więcej.
Maksymalny możliwy rozmiar, na którym można narysować balon, wynosi n= 7. Jeśli balon o rozmiarze 7 nie zmieści się w określonej ilości wody, balon wyskoczy:
| |
| |
|## # ###|
|##########|
|##########|
|##########|
|##########|
|##########|
|##########|
|##########|
+----------+
(Powyższe powinno być wyjściem dla danych wejściowych i= 76. Podobnie jak nieopakowany balon, sześć dodatkowych jednostek wody w górnym rzędzie może być ułożonych w dowolny sposób.)
Przypadki testowe
Po co mieć jeden przypadek testowy, skoro można je wszystkie mieć ?
Oto animowany GIF wszystkich danych wejściowych iod 2 do 100:

Punktacja
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach.