Більшість людей знайомі з тропом про підрахунок овець до засинання. Там є стадо овець, деякі з них стрибають через паркан, і ти рахуєш овець, як вони стрибають. Нібито, це допомагає заспокоїти розум і ввести вас у стан сну, щоб ви заснули.
Ось ASCII вівця, що стоїть праворуч, і чекає, щоб його порахували:
'00^>
||
Ось овець ASCII, що стрибає через паркан:
'00^>
/\
++
Ось один, звернений ліворуч, вже підрахувавши:
<^00'
||
Змагання
Давши два цілих числа nі m, n > 2описуючи, скільки овець усього, і m > 0сказати, скільки овець вже підраховано, виведіть ASCII художнє зображення підрахунку овець до засинання.
Тепер для повороту:
- Зважаючи на розмір ручок, в яких є вівці, верхній ряд може вміщувати максимум
10овець, не враховуючи стрибаючих в даний час овець, які також завжди повинні бути у верхньому ряду. - У наступних рядах не може бути овець поза їхніми ручками (у другому ряду ліворуч не може бути більше овець, ніж у першому, а в правому).
- Якщо є
11чи більше загальної кількості овець, у верхньому ряду повинно бути10плюс стрибаючих овець. - Провідна / відстала пробіли та пробіли між овець не мають значення, якщо:
- Між овечками є мінімум один символ пробілу
- Усі символи розташовуються належним чином.
Поки ці правила виконуються, фактичне розташування овець залежить від вашої реалізації.
Приклади
Наприклад, ось n=3і m=1, найпростіший випадок.
'00^>
'00^> /\ <^00'
|| ++ ||
Ось n=11і m=6найбільше овець, які можуть вміститися на одній горизонтальній лінії.
'00^>
'00^> '00^> '00^> '00^> /\ <^00' <^00' <^00' <^00' <^00' <^00'
|| || || || ++ || || || || || ||
Ось інший приклад того, з n=11іm=1
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00'
|| || || || || || || || || ++ ||
Більший приклад з n=30іm=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'
|| ||
Ось приклад з n=17іm=2
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00' <^00'
|| || || || || || || || ++ || ||
'00^> '00^> '00^> '00^> '00^> '00^>
|| || || || || ||
Ось приклад з n=19іm=3
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00' <^00' <^00'
|| || || || || || || ++ || || ||
'00^> '00^> '00^> '00^> '00^> '00^> '00^>
|| || || || || || ||
'00^>
||
Зауважте, що все це - приклади . Для останнього ви можете закінчити створення вертикального масиву овець з правого боку, що дозволить лівій частині замість цього поміститися на два ряди. А може бути 2х2 квадратних овець з правого боку, які також помістили б овець з лівої сторони на два ряди. І т.д.
I / O та правила
- Введення даних може бути здійснено у будь-якому розумному форматі та будь-яким зручним способом .
- Провідні / остаточні рядки чи інші пробіли необов’язкові, за умови, що символи розташовуються належним чином.
- Прийнятна або повна програма, або функція. Якщо функція, ви можете повернути вихід, а не надрукувати його.
- Вихід може бути на консолі, повернутий у вигляді списку рядків, повернутий як окремий рядок тощо.
- Стандартні лазівки заборонені.
- Це код-гольф, тому застосовуються всі звичайні правила гольфу, і найкоротший код (у байтах) виграє.
n=11таm=9
n=11таких , що 0<m<=10. Це змушує вас мати всіх овець у верхньому ряду та динамічну кількість овець ліворуч ( n-1-m) та праворуч ( m) огорожі та не можете використовувати фіксований розмір пера.