Trasfondo
No es realmente real, sshh!
Todo comenzó un día cuando un compañero de trabajo trajo una hogaza de pan casera para el cumpleaños de mi jefe.
A mi jefe realmente le gustaba esta barra de pan, y quería otra. Por desgracia, mi compañero de trabajo ha dejar de fumar, por lo que mi jefe necesita de mí para darle otra hogaza.
El problema es que no tengo idea de cómo hacer pan. Entonces le dije a mi jefe que no soy chef y que debería buscar a alguien que lo sea.
Él dijo: "Claro ... pero pierdes tu trabajo si no puedes hacerme un pan".
Entonces tuve una idea.
¡Le haría un pan de arte ascii con mi habilidad de codificación! Él dijo que sí, bajo 1 condición: "Debe hacerlo en menos de 351 bytes". Desafortunadamente para mí, mi mejor código de golf me llevó a 375 bytes. UH oh.
Luego mi jefe agregó 2 cosas: "Debes darme ese pan en una semana (4/13), y si lo haces, obtienes un mayor salario. Cuanto menor sea la cantidad de bytes que uses, mejor salario. Pero recuerda, si superas los 349 pierdes tu trabajo ".
¡Entonces necesito su ayuda en el idioma que elija para ayudarme a mantener mi trabajo!
Reglas
Estaba a punto de hacer un curl ... | shTinyURL, pero mi jefe me dijo que no puedo usar una lista de lagunas . Probablemente podría eludir las reglas, pero mi trabajo está en juego, así que no es una buena idea.
Lo que cuenta como un pan
Su programa o función debe tomar 3 enteros positivos como entrada. Si su idioma tiene una lista o matriz, puede tomar una lista o matriz de esos números. También puede tomarlos como argumentos para una función o programa, o una cadena de números separados por espacios para STDIN, una línea de comando o argumento de función, etc.
El primer número es el ancho de tu pan
El segundo número es la altura de su pan.
El tercer número es la profundidad de su pan.
Aquí hay un pan con un ancho 3, una altura 2y una profundidad de 1:
/ --- \ / --- \ | El | || | ___ | /
¿Parece extraño? Aquí hay un 3x2x2:
/ --- \ / | / --- \ | El | El | / / | ___ | /
¿Qué tal un 3x3x3:
/ --- \ / | / | / --- \ | El | El | / / El | El | / / | ___ | /
Un 4x1x2:
/ ---- \ / | / ---- \ / | ____ | /
¡Espero que entiendas! Vea mi respuesta JS (ES6) a continuación para ver un ejemplo.
Ver también casos de prueba completos
Notas:
- No te preocupes por la entrada válida. Todos los tamaños serán enteros positivos.
- Debe aceptar los enteros positivos que su idioma pueda admitir.
- Si los números son tan altos, sus idiomas se bloquean por StackOverflow, desbordamiento de la longitud máxima de la cadena, etc., está bien.