обзор
Учитывая количество шестиугольников, расположите их в соединенную форму в пределах изображения 50 на 50 ASCII. Форма, которую вы выбираете, может быть произвольной - что бы вы ни находили наиболее подходящей для игры в гольф - при условии, что она подключена. В нем могут быть отверстия при условии, что они больше одного шестиугольника (в противном случае количество шестиугольников будет неоднозначным).
раскладка
Все шестиугольники должны быть в следующей форме (действительны только этот размер и ориентация):
__
/ \
\__/ Note there are 2 underscores per horizontal edge.
Два шестиугольника напрямую связаны, если они имеют общее ребро:
__ __
/ \__ / \
\__/ \ \__/
\__/ or / \
\__/
Два шестиугольника не связаны, если они только разделяют вершину:
__ __
/ \/ \
\__/\__/
Совместное использование половины ребра также не считается подключенным:
__
/ \
\__/
/ \
\__/
Коллекция шестиугольников связана, если существует путь от любого шестиугольника до любого другого, использующего только непосредственно связанные шестиугольники.
Отверстия
Отверстие размером с шестиугольник в соединенном наборе шестиугольников считается шестиугольником, так что любое заданное произведение искусства ASCII имеет однозначное число шестиугольников.
Это не считается дырой, поскольку предполагаемая дыра представляет собой один шестиугольник:
__
__/ \__
/ \__/ \
\__/ \__/
/ \__/ \
\__/ \__/
\__/ 7 hexagons (not 6 with a hole)
Это делает подсчет как отверстие , так как он не соответствует одному шестиугольника:
__
__/ \__
/ \__/ \__
\__/ \__/ \
/ \__ \__/
\__/ \__/ \
\__/ \__/
\__/ 8 hexagons with a hole
Вход и выход
вход
Целое число от 1 до 255.
Выход
Художественная строка ASCII, представляющая количество входных шестиугольников, как описано выше.
- Число строк (подстроки, разделенные символом новой строки) не более 50, плюс дополнительный необязательный завершающий символ новой строки.
- Строки не обязательно должны быть одинаковой длины, но каждая из них должна иметь длину не более 50.
- Строки нулевой длины могут существовать выше или ниже соединенной формы при условии, что общее количество строк не превышает 50.
- Строки, содержащие только пробелы, могут существовать над или под соединенной формой, если общее количество строк не превышает 50.
- Пробелы могут появиться слева от фигуры, если длина строк не превышает 50 (фигуру не нужно выравнивать по левому краю).
- Пробелы могут появляться справа от фигуры, если длина строк не превышает 50.
- Любые символы, которые не являются частью соединенной фигуры, должны быть либо пробелами, либо переводом строки.
При условии, что выходные данные верны, не требуется быть последовательным от одного прогона к следующему.
Примеры
Входные данные: 6
Действительные выходы:
__ __ __
/ \__/ \__/ \__
\__/ \__/ \__/ \
\__/ \__/ \__/
__ __
/ \__/ \
\__/ \__/
/ \__/ \
\__/ \__/
\__/
__
__ / \
/ \__ \__/
\__/ \__/ \
\__/ \__/
\__/
/ \
\__/
Неверные выходы:
__
__/ \__
/ \__/ \
\__/ \__/
/ \__/ \
\__/ \__/
\__/ Invalid for 6 as the centre hole counts as a 7th hexagon.
__ __ __ __
/ \__/ \__/ \ / \
\__/ \__/ \__/ \__/
\__/ \__/ Invalid as the 6 hexagons are not connected.
__ __ __ __
/ \__/ \__/ \/ \
\__/ \__/ \__/\__/
\__/ \__/ Invalid as vertex touching does not count as connected.
__ __ __
/ \__/ \ / \
\__/ \__/ \__/
/ \__/ \
\__/ \__/
\__/ Invalid as the 6 connected hexagons are not the only visible characters.
выигрыш
Самый короткий действительный ответ в байтах побеждает.
Leaderboard
(используя фрагмент списка лидеров Мартина )
6
. Для ввода 255
горизонтального ряда шестиугольников не вписывается в 50 на 50 ASCII-арт.