Большинство людей знакомы с тем, как считать овец, чтобы они уснули. Есть стадо овец, некоторые из которых прыгают через забор, и вы считаете, что овцы прыгают. Предположительно, это помогает успокоить ваш разум и привести вас в состояние сна, так что вы заснете.
Вот овца 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
) от забора и не может использовать фиксированные размеры пера.