Вам дана гексагональная сетка символов .
и #
вот так:
. . . . . . . .
. . . . # . . .
. # . . . # . .
. . . # . . . .
. . . . . # . .
. . . . . . . .
Ваша задача состоит в том, чтобы заполнить всю выровненный по осям ограничивающего прямоугольника #
с последующим #
:
. . . . . . . .
. . # # # # . .
. # # # # # . .
. . # # # # # .
. . # # # # . .
. . . . . . . .
Выравнивающая ось ограничивающая рамка является самой маленькой выпуклой шестиугольной формой, которая содержит все #
. Обратите внимание, что в случае гексагональной сетки необходимо рассмотреть три оси (W / E, SW / NE, NW / SE):
Вот еще один пример, чтобы показать, что в некоторых случаях одна или несколько сторон будут содержать только одну #
:
. . . . . . . . . . . . . . . .
. # . . . . . . . # # # # . . .
. . . . . # . . . . # # # # . .
. . # . . . . . . . # # # . . .
. . . . . . . . . . . . . . . .
Вы можете рассматривать их как шестиугольники с вырожденными сторонами, или вы можете нарисовать ограничивающий прямоугольник вокруг них, как я делал выше, и в этом случае они все еще являются шестиугольниками:
Слишком сложно? Попробуйте Часть I!
правила
Вы можете использовать любые два различных непечатаемых символа ASCII (от 0x21 до 0x7E включительно) вместо #
и .
. Я буду продолжать ссылаться на них как #
и .
для остальной части спецификации, хотя.
Ввод и вывод могут быть либо строкой, разделенной переводом строки, либо списком строк (по одной на каждую строку), но формат должен быть согласованным.
Вы можете предположить, что вход содержит как минимум одну #
и все строки одинаковой длины. Обратите внимание, что есть два разных «вида» строк (начиная с пробела или не пробела) - вы не можете предполагать, что ввод всегда начинается с одного и того же типа. Вы можете предположить, что ограничивающий прямоугольник всегда вписывается в заданную вами сетку.
Вы можете написать программу или функцию и использовать любой из наших стандартных методов получения ввода и предоставления вывода.
Вы можете использовать любой язык программирования , но учтите, что эти лазейки по умолчанию запрещены.
Это код-гольф , поэтому самый короткий действительный ответ - измеренный в байтах - выигрывает.
Тестовые случаи
Каждый тестовый пример имеет вход и выход рядом друг с другом.
# #
. . . .
# . # # # #
. . . .
. # . #
. . . . # .
# . # .
# . # .
. . . . # .
. # . #
# . # .
# . . # # .
. # # #
. # # #
# . . # # #
. # # #
. . # . # #
. . # #
# . . # # .
# . . # # .
. . # #
. . # . # #
. . . . . . . . . . . . . . . .
. . # . # . . . . . # # # . . .
. . . . . . . . . . . # # . . .
. . . # . . . . . . . # . . . .
. . . . . . . . . . . . . . . .
. . # . . . # . . . # # # # # .
. . . . . . . . . . . # # # # .
. . . # . . . . . . . # # # . .
. . . . . . . . . . . . . . . .
. # . . . . . . . # # # # . . .
. . . . . # . . . . # # # # . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. # . . . . . . . # # # # . . .
. . . . . # . . . . # # # # . .
. . # . . . . . . . # # # . . .
. . . . # . . . . . # # # # . .
. # . . . # . . . # # # # # . .
. . . # . . . . . . # # # # # .
. . . . . # . . . . # # # # . .