Dado um dicionário de palavras de 4 letras que não possuem caracteres repetidos ( nessa lista de palavras ), você deve escolher UMA dessas palavras e produzir essa palavra específica usando o seguinte dicionário de letras maiúsculas:
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | __ | || | ______ | || | ______ | || | ________ | |
| | / \ | || | |_ _ \ | || | .' ___ | | || | |_ ___ '. | |
| | / /\ \ | || | | |_) | | || | / .' \_| | || | | | '. \ | |
| | / ____ \ | || | | __'. | || | | | | || | | | | | | |
| | _/ / \ \_ | || | _| |__) | | || | \ '.___.'\ | || | _| |___.' / | |
| ||____| |____|| || | |_______/ | || | '._____.' | || | |________.' | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | _________ | || | _________ | || | ______ | || | ____ ____ | |
| | |_ ___ | | || | |_ ___ | | || | .' ___ | | || | |_ || _| | |
| | | |_ \_| | || | | |_ \_| | || | / .' \_| | || | | |__| | | |
| | | _| _ | || | | _| | || | | | ____ | || | | __ | | |
| | _| |___/ | | || | _| |_ | || | \ '.___] _| | || | _| | | |_ | |
| | |_________| | || | |_____| | || | '._____.' | || | |____||____| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | _____ | || | _____ | || | ___ ____ | || | _____ | |
| | |_ _| | || | |_ _| | || | |_ ||_ _| | || | |_ _| | |
| | | | | || | | | | || | | |_/ / | || | | | | |
| | | | | || | _ | | | || | | __'. | || | | | _ | |
| | _| |_ | || | | |_' | | || | _| | \ \_ | || | _| |__/ | | |
| | |_____| | || | '.___.' | || | |____||____| | || | |________| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
.----------------. .-----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | ____ ____ | || | ____ _____ | || | ____ | || | ______ | |
| ||_ \ / _|| || ||_ \|_ _| | || | .' '. | || | |_ __ \ | |
| | | \/ | | || | | \ | | | || | / .--. \ | || | | |__) | | |
| | | |\ /| | | || | | |\ \| | | || | | | | | | || | | ___/ | |
| | _| |_\/_| |_ | || | _| |_\ |_ | || | \ '--' / | || | _| |_ | |
| ||_____||_____|| || ||_____|\____| | || | '.____.' | || | |_____| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | ___ | || | _______ | || | _______ | || | _________ | |
| | .' '. | || | |_ __ \ | || | / ___ | | || | | _ _ | | |
| | / .-. \ | || | | |__) | | || | | (__ \_| | || | |_/ | | \_| | |
| | | | | | | || | | __ / | || | '.___'-. | || | | | | |
| | \ '-' \_ | || | _| | \ \_ | || | |'\____) | | || | _| |_ | |
| | '.___.\__| | || | |____| |___| | || | |_______.' | || | |_____| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | _____ _____ | || | ____ ____ | || | _____ _____ | || | ____ ____ | |
| ||_ _||_ _|| || ||_ _| |_ _| | || ||_ _||_ _|| || | |_ _||_ _| | |
| | | | | | | || | \ \ / / | || | | | /\ | | | || | \ \ / / | |
| | | ' ' | | || | \ \ / / | || | | |/ \| | | || | > '' < | |
| | \ '--' / | || | \ ' / | || | | /\ | | || | _/ /''\ \_ | |
| | '.__.' | || | \_/ | || | |__/ \__| | || | |____||____| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
.----------------. .----------------.
| .--------------. || .--------------. |
| | ____ ____ | || | ________ | |
| | |_ _||_ _| | || | | __ _| | |
| | \ \ / / | || | |_/ / / | |
| | \ \/ / | || | .'.' _ | |
| | _| |_ | || | _/ /__/ | | |
| | |______| | || | |________| | |
| | | || | | |
| '--------------' || '--------------' |
'----------------' '----------------'
Dependendo da idade, você pode ter recebido uma injeção de nostalgia dessas cartas em bloco. Por outro lado, após um certo ponto, você pode ter a nostalgia de ver seus filhos soletrar essas palavras baseadas em blocos por conta própria. Originados em 1693 , os blocos de alfabeto eram uma peça de educação bastante comum da família nuclear e além. Vamos recriar essa nostalgia soletrando uma palavra dessa lista de palavras .
Em outras palavras, esse desafio é escolher quatro letras da definição do espaço da chave e renderizá-las "empilhadas" em uma ordem especificada pelo dicionário. Você notará que o dicionário omite as palavras de quatro letras, moon
como elas repetem, e são basicamente palavras de trapaça.
Aqui está a estrutura do bloco em si, sem caractere dentro:
.----------------.
| .--------------. | # Tops are periods.
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| '--------------' | # Bottoms are apostrophe's.
'----------------'
Regras
- Caracteres dentro dos blocos só uso:
|/\_'.]-><
. - Números não existem, nem símbolos; somente as letras na lista de palavras.
- Este é um problema de complexidade de kolmogorov depois de escolher sua palavra, você deve gerar cada bloco exatamente como mostrado.
- Você pode imprimi-los em qualquer formato que desejar, vertical, horizontal, empilhado em um quadrado; no entanto, ele deve ler de cima para baixo, da esquerda para a direita. Além disso, cada bloco deve ser exibido sem ser alterado, em um formato coerente. Isso é para dar mais liberdade para salvar bytes e permitir uma estrutura de saída diversificada, bem como seria ao jogar com blocos.
- O principal elemento competitivo desse desafio é a otimização da compactação e, como meu outro problema , também leva em consideração sua capacidade de solucionar problemas, considerando o espaço para as pernas de uma escolha aparentemente "estética".
Exemplos
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | _________ | || | ____ ____ | || | ______ | || | _________ | |
| | | _ _ | | || | |_ _||_ _| | || | |_ __ \ | || | |_ ___ | | |
| | |_/ | | \_| | || | \ \ / / | || | | |__) | | || | | |_ \_| | |
| | | | | || | \ \/ / | || | | ___/ | || | | _| _ | |
| | _| |_ | || | _| |_ | || | _| |_ | || | _| |___/ | | |
| | |_____| | || | |______| | || | |_____| | || | |_________| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
É a mesma validade que:
.----------------.
| .--------------. |
| | _________ | |
| | | _ _ | | |
| | |_/ | | \_| | |
| | | | | |
| | _| |_ | |
| | |_____| | |
| | | |
| '--------------' |
'----------------'
.----------------.
| .--------------. |
| | ____ ____ | |
| | |_ _||_ _| | |
| | \ \ / / | |
| | \ \/ / | |
| | _| |_ | |
| | |______| | |
| | | |
| '--------------' |
'----------------'
.----------------.
| .--------------. |
| | ______ | |
| | |_ __ \ | |
| | | |__) | | |
| | | ___/ | |
| | _| |_ | |
| | |_____| | |
| | | |
| '--------------' |
'----------------'
.----------------.
| .--------------. |
| | _________ | |
| | |_ ___ | | |
| | | |_ \_| | |
| | | _| _ | |
| | _| |___/ | | |
| | |_________| | |
| | | |
| '--------------' |
'----------------'
O que é tão válido quanto:
.----------------.
| .--------------. |
| | _________ | |
| | | _ _ | | |
| | |_/ | | \_| | |
| | | | | |
| | _| |_ | |
| | |_____| | |
| | | |
| '--------------' |
'----------------'
.----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. |
| | ____ ____ | || | ______ | || | _________ | |
| | |_ _||_ _| | || | |_ __ \ | || | |_ ___ | | |
| | \ \ / / | || | | |__) | | || | | |_ \_| | |
| | \ \/ / | || | | ___/ | || | | _| _ | |
| | _| |_ | || | _| |_ | || | _| |___/ | | |
| | |______| | || | |_____| | || | |_________| | |
| | | || | | || | | |
| '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------'
Isso também funciona:
.----------------. .----------------.
| .--------------. || .--------------. |
| | _________ | || | ____ ____ | |
| | | _ _ | | || | |_ _||_ _| | |
| | |_/ | | \_| | || | \ \ / / | |
| | | | | || | \ \/ / | |
| | _| |_ | || | _| |_ | |
| | |_____| | || | |______| | |
| | | || | | |
| '--------------' || '--------------' |
'----------------' '----------------'
.----------------. .----------------.
| .--------------. || .--------------. |
| | ______ | || | _________ | |
| | |_ __ \ | || | |_ ___ | | |
| | | |__) | | || | | |_ \_| | |
| | | ___/ | || | | _| _ | |
| | _| |_ | || | _| |___/ | | |
| | |_____| | || | |_________| | |
| | | || | | |
| '--------------' || '--------------' |
'----------------' '----------------'
Até coisas que parecem custar bytes para você fazer:
.----------------. .----------------.
| .--------------. || .--------------. |
| | _________ | || | ____ ____ | |
| | | _ _ | | || | |_ _||_ _| | |
| | |_/ | | \_| | || | \ \ / / | |
| | | | | || | \ \/ / | |
| | _| |_ | || | _| |_ | |
| | |_____| | || | |______| | |
| | | || | | |
| '--------------' || '--------------' |
'----------------' '----------------'
.----------------. .----------------.
| .--------------. || .--------------. |
| | ______ | || | _________ | |
| | |_ __ \ | || | |_ ___ | | |
| | | |__) | | || | | |_ \_| | |
| | | ___/ | || | | _| _ | |
| | _| |_ | || | _| |___/ | | |
| | |_____| | || | |_________| | |
| | | || | | |
| '--------------' || '--------------' |
'----------------' '----------------'
No entanto, você pode empilhar os blocos para economizar bytes, é um vencedor no meu livro.
Isso é código-golfe , vitórias mais baixas na contagem de bytes.
fonte
hide
ouwaxy
.Respostas:
Carvão ,
180164162159 159158155 bytesExperimente online! Editar: salvou
1618 bytes desenhando manualmente as letrasWAY
; infelizmenteX
, é muito difícil desenhar, por isso ainda é impresso usando uma string literal. Economizou mais 3 bytes alternando deWAXY
paraAHOY
. Salvei outro byte alternando paraMAYO
porque eu posso usar aχ
variável predefinida para 10. Salvei mais 3 bytes repetindo a cópia da borda em um loop. Explicação:Lista completa das metades da letra à direita:
Se
O
,W
,X
ouY
é a última carta, em seguida, o último byte pode ser removido. Por outro lado,M
,W
eY
custo de 2 bytes como uma primeira carta ou um byte como a letra apósO
;H
custa um byte como primeira letra. Com a contagem de bytes acima, as seguintes palavras são possíveis:fonte
.
es e'
osO
que são os verdadeiros assassinos (eu estaria compactando como um número base 6 em vez de um número base 4).X
, também tem sua própria parcela de problemas.PHP, 362 bytes
LEITE
Experimente online!
PHP, 258 bytes compactado apenas
Experimente online!
PHP, código de 323 bytes acima compactado com o uso de eval
Experimente online!
fonte
Geléia ,
119114 bytesWHAM
Experimente online!
Quão?
A idéia geral é escolher letras que tenham simetria esquerda-direita com tradução mínima de caracteres para (a) reduzir a base na qual os dados podem ser codificados e (b) manter pequena a função "reflexão".
A carta
H
tem simetria esquerda-direita, sem necessidade de tradução. As letrasW
eA
também têm simetria esquerda-direita se os/
s à esquerda se tornarem\
s à direita. Infelizmente, não existem quatro dessas letras (com os mesmos lados tendo as mesmas inclinações de barras).Letras como a
O
introdução de mais caracteres, o que aumenta a base necessária para a criptografia, criando um número muito maior e, portanto, mais bytes.M
, no entanto, apenas introduz a outra barra - se as meias linhas daM
são armazenadas ao contrário e com as barras erradas, a base é mantida em quatro e uma reversão pós-descriptografia e pós-reflexão dessas linhas coloca tudo novamente ( esse é oU4¦
link 1). Isso também significa que a tradução de caracteres precisa apenas se\
tornar virada/
e não o contrário (ou seja,Ṛ“\/”y;
nãoṚ“\/“/\”y;
).fonte
M
as/
são da mesma maneira queY
as?Javascript
433416 caracteresSim, não é muito impressionante. Mas eu trabalhei muito e não vejo nenhuma maneira fácil de melhorar muito :)
_ => {r = (s, x) => s.repetição (x)
Não tenho certeza se minhas cartas estão perfeitamente bem formadas:
O resultado é salvo na
a
variável.fonte
Chiclete , 119 bytes
Experimente online!
VIDA. Aqui está uma lista de todas as letras em um formato mais legível que usei para testar cada palavra.
fonte