У цьому виклику ви повинні показати ASCII мистецтво на водній кулі, враховуючи кількість води, якою наповнюється повітряна куля:
| __||__ |
| / # #\ |
| |######| |
| |######| |
| |######| |
| |######| |
| |######| |
| \######/ |
| |
| |
+----------+
Як намалювати повітряну кулю
Щоб відобразити повітряну кулю розміром n
, виконайте наступні кроки (зверніть увагу: коли використовується символ поділу ( /
), він являє собою ціле ділення, округлення вниз):
Намалюйте контейнер, що складається з десяти вертикальних смуг (
|
) зліва та справа, десяти тире (-
) внизу та знака плюс (+
) у нижньому лівому та нижньому правому куті. Це робить всю справу 12x11, а «всередині» 10x10.| | | | | | | | | | | | | | | | | | | | +----------+
Намалюйте два вертикальних бруска (отвір повітряної кулі) по центру посередині верхнього ряду з
n/2
підкресленнями (_
) з обох боків (для цього прикладуn
буде 5):| __||__ | | | | | | | | | | | | | | | | | | | +----------+
Намалюйте одну косу косу рису (
/
) та одну зворотну косу рису (\
), яка оточує цей верхній ряд, один рядок внизу:| __||__ | | / \ | | | | | | | | | | | | | | | | | +----------+
Намалюйте
n
рядки з однаково розташованими вертикальними смугами, а потім один ряд пари (ще однаково розташованих) нахилу та косу рису:| __||__ | | / \ | | | | | | | | | | | | | | | | | | | | | | \ / | | | | | +----------+
"Наповніть" повітряну кулю водою, представленою хеш-знаком (
#
). Почніть з найнижчого ряду і працюйте вгору. Якщо рядок заповнено не повністю, ви можете розмістити хеш-позначки куди завгодно (у наведеному нижче прикладі вони розміщуються випадковим чином, але ви можете поставити їх, скажімо, на лівій стороні, якщо хочете).| __||__ | | / # #\ | | |######| | | |######| | | |######| | | |######| | | |######| | | \######/ | | | | | +----------+
Максимум n
- 7, а мінімальний - 0.
Вхідні дані
Вхід буде цілим числом i
- це кількість хеш-знаків (води), яку необхідно намалювати.
Він ніколи не буде менше 2 або більше 100.
Вихідні дані
На виході має бути повітряна куля розміром, яка n
містить i
хеш-позначки (одиниці води), де n
є найменший розмір, який може вмістити i
одиниці води. Оскільки i
завжди буде 2 або більше, n
завжди буде 0 або більше.
Максимально можливий розмір повітряної кулі може становити n
= 7. Якщо повітряна куля розміром 7 не може відповідати вказаній кількості води, повітряна куля спливає:
| |
| |
|## # ###|
|##########|
|##########|
|##########|
|##########|
|##########|
|##########|
|##########|
+----------+
(Вищенаведене має бути результатом для введення i
= 76. Так само, як і незамкнутий повітряний куля, шість додаткових одиниць води у верхньому ряду можуть бути влаштовані, як не завгодно.)
Тестові справи
Навіщо мати один тестовий випадок, коли ви можете мати їх усі ?
Ось анімований GIF усіх входів i
від 2 до 100:
Оцінка балів
Це код-гольф , тому виграє найкоротший код у байтах.