Problema
Dada uma entrada em a
que a é um valor de verdade / falsidade, imprima o cubo exato impossível abaixo se verdade e o cubo normal exato abaixo se falsey.
Entrada truthy
:
___________________________________
/ _______________________________ /|
/ / _____________________________/ / |
/ / /| | / / |
/ / / | | / / |
/ / /| | | / / /| |
/ / / | | | / / / | |
/ / / | | | / / /| | |
/ /_/___| | |____________________/ / / | | |
/________| | |_____________________/ / | | |
| _______| | |____________________ | | | | |
| | | | | |___________________| | |__| | |
| | | | |_____________________| | |____| |
| | | / / _____________________| | |_ / /
| | | / / / | | |/ / /
| | | / / / | | | / /
| | |/ / / | | |/ /
| | | / / | | /
| | |/_/_________________________| | /
| |______________________________| | /
|__________________________________|/
Entrada falsy
:
___________________________________
/ _______________________________ /|
/ / _____________________________/ / |
/ / /| | / / |
/ / / | | / / |
/ / /| | | / / /| |
/ / / | | | / / / | |
/ / / | | | / / /| | |
/ /_/___|_|_|____________________/ / / | | |
/__________________________________/ / | | |
| ________________________________ | | | | |
| | | | | |___________________| | |__| | |
| | | | |_____________________| | |____| |
| | | / / _____________________| | |_ / /
| | | / / / | | |/ / /
| | | / / / | | | / /
| | |/ / / | | |/ /
| | | / / | | /
| | |/_/_________________________| | /
| |______________________________| | /
|__________________________________|/
Regras
- Espaço em branco à direita permitido.
- Novas linhas à direita permitidas.
- valores truthy / falsey podem ser trocados (truthy para cubo real e falsey para cubo impossível)
- O estilo de entrada deve ser especificado
- O menor código em bytes ganha
Respostas:
SOGL V0.12 , 145 bytes
Experimente aqui!
Este programa armazena os dados da linha como 3 números base 36-46 separados e decodifica cada
ž
es os valores na matriz principal.Devido à maneira abusiva de como eu desenho as linhas diagonais, a saída tem 27 linhas de linhas com espaços (o que é permitido pelo OP)
entrada:
0 - impossível
1 - possível
Explicação:
fonte
1
resultado não deve ter a mesma saída que outras entradas de verdade"test"
?test
na caixa de entrada resulta em um erro. Se a sua tão grande de um problema que eu poderia apenas fazer com que demore entrada para a cadeia, onde "" seria Falsas e tudo o mais truthyGeléia ,
187166 bytesUm programa completo.
Experimente online!
Quão?
103 bytes são um número base de 250 dígitos de 101 dígitos, que é uma compactação de base 8 de um possível cubo, com espaços à direita adicionados para igualar o comprimento da linha, sem novas linhas e sem 18 caracteres no meio de cada linha, como este , mas sem novas linhas:
Os 8 dígitos da base 8 representam as cadeias de caracteres:
Assim, a compressão é, em seguida, como o abaixo onde
1
s,6
s,7
s e0
s devem ser substituídas pelas cordas mostrados acima:O programa reverte o processo e altera os caracteres que precisam ser alterados se o cubo for impossível:
fonte
JavaScript (ES6),
352344333 bytesGuardado 2 bytes graças a @YairRand
Demo
Mostrar snippet de código
fonte
a=
e substituir a única referência a ele0
(que sempre é igual quando referenciada) salva dois bytes.Carvão , 188 bytes
Experimente online! Link é falsear versão; altere a entrada de
0
para1
para a versão de verdade. Aqui está o código detalhado aproximado para o programa acima:Imprima a parte das costas visível através do "orifício" direito.
Imprima o "buraco" certo.
Imprima a borda externa do cubo.
Imprima o "orifício" superior do cubo.
Imprima o "orifício" frontal do cubo.
Imprima a parte das costas visível através do "orifício" frontal.
Torne o cubo impossível, se necessário.
Imprima a parte das costas visível através do "orifício" superior.
fonte