visão global
Dado um número de hexágonos, organize-os em uma forma conectada dentro dos limites de uma imagem artística de 50 por 50 ASCII. A forma escolhida pode ser arbitrária - o que você achar mais favorável ao golfe - desde que esteja conectada. Pode haver orifícios, desde que sejam maiores que um hexágono (caso contrário, o número de hexágonos será ambíguo).
Layout
Todos os hexágonos devem estar no seguinte formato (somente esse tamanho e orientação são válidos):
__
/ \
\__/ Note there are 2 underscores per horizontal edge.
Dois hexágonos são conectados diretamente se compartilharem uma aresta:
__ __
/ \__ / \
\__/ \ \__/
\__/ or / \
\__/
Dois hexágonos não estão conectados se eles compartilham apenas um vértice:
__ __
/ \/ \
\__/\__/
Compartilhar meia borda também não conta como conectado:
__
/ \
\__/
/ \
\__/
Uma coleção de hexágonos é conectada se existir um caminho de qualquer hexágono para outro usando apenas hexágonos conectados diretamente .
Buracos
Um furo do tamanho de um hexágono em uma coleção conectada de hexágonos conta como um hexágono, de modo que qualquer peça de arte ASCII tenha uma contagem de hexágonos inequívoca.
Isso não conta como um buraco, já que o buraco em potencial é um único hexágono:
__
__/ \__
/ \__/ \
\__/ \__/
/ \__/ \
\__/ \__/
\__/ 7 hexagons (not 6 with a hole)
Isso faz contagem como um buraco, uma vez que não corresponde a um único hexágono:
__
__/ \__
/ \__/ \__
\__/ \__/ \
/ \__ \__/
\__/ \__/ \
\__/ \__/
\__/ 8 hexagons with a hole
Entrada e saída
Entrada
Um número inteiro de 1 a 255.
Saída
Uma sequência de arte ASCII representando o número de entrada de hexágonos conectados, conforme descrito acima.
- O número de linhas (substrings separados por nova linha) é no máximo 50, mais uma nova linha à direita opcional.
- As linhas não precisam ter o mesmo comprimento, mas cada uma deve ter no máximo 50.
- Linhas de comprimento zero podem existir acima ou abaixo da forma conectada, desde que o número total de linhas não exceda 50.
- Linhas com espaço apenas podem existir acima ou abaixo da forma conectada, desde que o número total de linhas não exceda 50.
- Os espaços podem aparecer à esquerda da forma, desde que o comprimento da linha não exceda 50 (a forma não precisa ser alinhada à esquerda).
- Os espaços podem aparecer à direita da forma, desde que o comprimento da linha não exceda 50.
- Quaisquer caracteres que não façam parte da forma conectada devem ser espaços ou novas linhas.
Desde que a saída esteja correta, não é necessário que seja consistente de uma execução para a seguinte.
Exemplos
Entrada: 6
Saídas válidas:
__ __ __
/ \__/ \__/ \__
\__/ \__/ \__/ \
\__/ \__/ \__/
__ __
/ \__/ \
\__/ \__/
/ \__/ \
\__/ \__/
\__/
__
__ / \
/ \__ \__/
\__/ \__/ \
\__/ \__/
\__/
/ \
\__/
Saídas inválidas:
__
__/ \__
/ \__/ \
\__/ \__/
/ \__/ \
\__/ \__/
\__/ 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.
Ganhando
A resposta mais curta válida em bytes vence.
Entre os melhores
(usando o snippet do cabeçalho de Martin )
6
. Para uma entrada de 255
uma linha horizontal de hexágonos, não caberá na arte ASCII de 50 por 50.