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