Dado três números inteiros> = 2, crie um cubo ASCII em uma projeção ortogonal (gabinete). Os três números inteiros representam altura, largura e profundidade (medidos em caracteres visíveis), incluindo os cantos. Os cantos devem ser 'o's ou' + ', de livre escolha.
w: 10, h: 5, d: 4 Dá assim:
o--------o
/ /|
/ / |
o--------o |
| | o
| | /
| |/
o--------o
Agora, para tornar isso um pouco mais difícil, todas as faces podem ser sólidas, transparentes ou ausentes. Nós ordenamos os rostos assim:
o--------o
/ /|
/ 2 / |
o--------o 3|
| | o
| 1 | /
| |/
o--------o
---
|2|
-------
|5|1|3|
-------
|4|
---
|6|
---
E forneça uma lista de tokens, S, T ou M. O exemplo original é assim:
w 10
h 5
d 4
S S S S S S
o--------o
/ /|
/ / |
o--------o |
| | o
| | /
| |/
o--------o
Se um rosto é transparente, podemos ver qualquer coisa por trás dele:
T S S S S S
o--------o
/ /|
/ / |
o--------o |
| o-----| o
| / | /
|/ |/
o--------o
T T T T T T
o--------o
/| /|
/ | / |
o--------o |
| o-----|--o
| / | /
|/ |/
o--------o
Para pares de faces ausentes, arestas ou cantos adjacentes não são mais visíveis:
M M S S S S
o--------o
/| /|
/ | / |
o | o |
| o-----| o
| / | /
|/ |/
o--------o
M M S S M S
o--------o
| /|
| / |
| o |
o-----| o
/ | /
/ |/
o--------o
Código de golfe, código mais curto ganha! Espaços à direita e novas linhas são bons, você pode escolher o método e a ordem de entrada.
you're free to choose input method and input order
. E como nada diz o contrário, qualquer um dos métodos de entrada / saída padrão pode ser usado.