¿Conoces los estantes apilables que son básicamente cajas de madera que se pueden apilar juntas? Vamos a simular la construcción de algunas estanterías de libros con arte ASCII.
Nuestros libros tienen un tamaño convenientemente uniforme, y todos se parecen a lo siguiente:
|X|
|X|
|X|
Las estanterías son cajas individuales, siempre con tres caracteres de altura en el interior (lo suficiente como para que quepa un libro en posición vertical), compuestas de |
caracteres a la izquierda y a la derecha, -
caracteres para la parte superior e inferior y lo suficientemente anchas para caber en los X
libros (donde X
hay una entrada entero). Por ejemplo, aquí hay una estantería de tamaño 3
:
|---------|
| |
| |
| |
|---------|
porque puedes meter 3
libros así
|---------|
||X||X||X||
||X||X||X||
||X||X||X||
|---------|
La entrada será dos enteros estrictamente positivos X
y Y
dónde X
está el ancho de los estantes que tenemos (medidos en libros) y Y
cuántos libros tenemos que apilar. Si tenemos más libros que los que caben en un solo estante, necesitamos agregar más estantes en la parte superior. Por ejemplo, aquí está la entrada 4 wide / 6 books
:
|------------|
||X||X| |
||X||X| |
||X||X| |
|------------|
|------------|
||X||X||X||X||
||X||X||X||X||
||X||X||X||X||
|------------|
Si Y % X > 0
, lo que significa que el número de libros no es un múltiplo entero del tamaño del estante, los libros restantes deben ir en la posición superior izquierda más (como en el caso con 4 6
, arriba) y la parte restante de ese estante llena con espacios
Entrada
- Dos enteros estrictamente positivos en cualquier formato conveniente , cada uno
>0
. - Puede tomar la entrada en cualquier orden (por ejemplo, primero el tamaño de los estantes, luego el número de libros o viceversa). Indique en su envío el orden de entrada.
- Puede suponer con seguridad que ninguna de las entradas será mayor que el
[int]
tamaño predeterminado de su idioma (o equivalente).
Salida
La representación artística ASCII resultante de los libros y estanterías.
Reglas
- Las nuevas líneas o espacios en blanco iniciales o finales son opcionales, siempre que los caracteres se alineen correctamente.
- Un programa completo o una función son aceptables. Si es una función, puede devolver el resultado en lugar de imprimirlo.
- Si es posible, incluya un enlace a un entorno de prueba en línea para que otras personas puedan probar su código.
- Las lagunas estándar están prohibidas.
- Este es el código de golf, por lo que se aplican todas las reglas habituales de golf, y gana el código más corto (en bytes).
Ejemplos adicionales
6 wide / 2 books
|------------------|
||X||X| |
||X||X| |
||X||X| |
|------------------|
2 wide / 6 books
|------|
||X||X||
||X||X||
||X||X||
|------|
|------|
||X||X||
||X||X||
||X||X||
|------|
|------|
||X||X||
||X||X||
||X||X||
|------|
4 wide / 9 books
|------------|
||X| |
||X| |
||X| |
|------------|
|------------|
||X||X||X||X||
||X||X||X||X||
||X||X||X||X||
|------------|
|------------|
||X||X||X||X||
||X||X||X||X||
||X||X||X||X||
|------------|