História de fundo
Não é realmente real, sshh!
Tudo começou um dia quando um colega de trabalho trouxe um pedaço de pão caseiro para o aniversário do meu chefe.
Meu chefe gostava muito desse pão e queria outro. Infelizmente, meu colega de trabalho parou, então meu chefe precisa que eu dê outro pão para ele.
O problema é que não tenho ideia de como fazer pão. Então eu disse ao meu chefe que não sou chef e que deveria procurar mais alguém que seja.
Ele disse: "Claro ... mas você perde o emprego se não puder me fazer um pão".
Então eu tive uma ideia.
Eu faria dele uma arte ascii pão de com meu skilz de codificação! Ele disse que sim, sob uma condição: "Você deve fazê-lo em menos de 351 bytes". Infelizmente para mim, meu melhor código de golfe me levou a 375 bytes. Ah, oh.
Em seguida, meu chefe acrescentou duas coisas: "Você deve me dar esse pão em uma semana (13/4) e, se o fizer, recebe um aumento de salário. Quanto menor a quantidade de bytes que você usa, melhor o salário. Mas lembre-se: se você ultrapassar os 349, perde o emprego ".
Então, preciso da sua ajuda no seu idioma de escolha para me ajudar a manter meu emprego!
Regras
Eu estava prestes a fazer um curl ... | shTinyURL, mas meu chefe me disse que não posso usar uma lista de brechas . Eu provavelmente poderia burlar as regras, mas meu trabalho está em jogo, então não é uma boa ideia.
O que conta como pão
Seu programa ou função deve receber 3 números inteiros positivos como entrada. Se o seu idioma tiver uma lista ou matriz, você poderá obter uma lista ou matriz desses números. Você também pode levá-los como argumentos para uma função ou programa ou como uma seqüência de números separada por espaço para STDIN, um argumento de linha de comando ou função, etc.
O primeiro número é a largura do seu pão
O segundo número é a altura do seu pão.
O terceiro número é a profundidade do seu pão.
Aqui está um pão com largura 3, altura 2e profundidade de1 :
/ --- \ / --- \ | | || | ___ | /
Parece estranho? Aqui está um 3x2x2:
/ --- \ / | / --- \ | | | / | ___ | /
Que tal um 3x3x3:
/ --- \ / | / | / --- \ | | | / | | / | ___ | /
Um 4x1x2:
/ ---- \ / | / ---- \ / | ____ | /
Espero que entenda! Veja minha resposta JS (ES6) abaixo para um exemplo.
Veja também casos de teste completos
Notas:
- Não se preocupe com informações válidas. Todos os tamanhos serão inteiros positivos.
- Você deve aceitar quaisquer números inteiros positivos que seu idioma possa suportar.
- Se os números forem tão altos, seu idioma falhará no StackOverflow, no estouro máximo do comprimento da string etc.