Otrzymujesz sześciokątną siatkę postaci .
i #
, w ten sposób:
. . . . . . . .
. . . . # . . .
. # . . . # . .
. . . # . . . .
. . . . . # . .
. . . . . . . .
Twoim zadaniem jest, aby wypełnić całą oś wyrównany obwiedni #
z dodatkowo #
:
. . . . . . . .
. . # # # # . .
. # # # # # . .
. . # # # # # .
. . # # # # . .
. . . . . . . .
Obwiednia wyrównana do osi jest najmniejszym wypukłym sześciokątnym kształtem, który zawiera wszystkie elementy #
. Zauważ, że w przypadku siatki sześciokątnej są należy wziąć pod uwagę trzy osie (W / E, SW / NE, NW / SE):
Oto kolejny przykład pokazujący, że w niektórych przypadkach jedna lub więcej stron będzie zawierać tylko jedną #
:
. . . . . . . . . . . . . . . .
. # . . . . . . . # # # # . . .
. . . . . # . . . . # # # # . .
. . # . . . . . . . # # # . . .
. . . . . . . . . . . . . . . .
Możesz albo zobaczyć je jako sześciokąty ze zdegenerowanymi bokami, lub możesz narysować wokół nich obwiednię, tak jak to zrobiłem powyżej, w którym to przypadku nadal są sześciokątami:
Zbyt trudne? Spróbuj część I!
Zasady
Możesz użyć dowolnych dwóch różnych znaków ASCII drukowalnych spacji (od 0x21 do 0x7E włącznie), zamiast #
i .
. Będę nadal odnosząc się do nich, jak #
i .
dla pozostałej części specyfikacji chociaż.
Dane wejściowe i wyjściowe mogą być albo pojedynczym ciągiem oddzielonym od linii, albo listą ciągów (po jednym dla każdej linii), ale format musi być spójny.
Możesz założyć, że wejście zawiera co najmniej jeden, #
a wszystkie wiersze mają tę samą długość. Zauważ, że istnieją dwa różne „rodzaje” linii (zaczynające się spacją lub spacją) - możesz tego nie robić zakładać, że wejście zawsze zaczyna się od tego samego typu. Możesz założyć, że obwiednia zawsze pasuje do podanej siatki.
Możesz napisać program lub funkcję i użyć dowolnej z naszych standardowych metod otrzymywania danych wejściowych i zapewniania danych wyjściowych.
Możesz używać dowolnego języka programowania , ale pamiętaj, że te luki są domyślnie zabronione.
To jest golf golfowy , więc najkrótsza ważna odpowiedź - mierzona w bajtach wygrywa .
Przypadki testowe
Każdy przypadek testowy ma wejścia i wyjścia obok siebie.
# #
. . . .
# . # # # #
. . . .
. # . #
. . . . # .
# . # .
# . # .
. . . . # .
. # . #
# . # .
# . . # # .
. # # #
. # # #
# . . # # #
. # # #
. . # . # #
. . # #
# . . # # .
# . . # # .
. . # #
. . # . # #
. . . . . . . . . . . . . . . .
. . # . # . . . . . # # # . . .
. . . . . . . . . . . # # . . .
. . . # . . . . . . . # . . . .
. . . . . . . . . . . . . . . .
. . # . . . # . . . # # # # # .
. . . . . . . . . . . # # # # .
. . . # . . . . . . . # # # . .
. . . . . . . . . . . . . . . .
. # . . . . . . . # # # # . . .
. . . . . # . . . . # # # # . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. # . . . . . . . # # # # . . .
. . . . . # . . . . # # # # . .
. . # . . . . . . . # # # . . .
. . . . # . . . . . # # # # . .
. # . . . # . . . # # # # # . .
. . . # . . . . . . # # # # # .
. . . . . # . . . . # # # # . .