Conosci quegli scaffali impilabili che sono fondamentalmente solo scatole di legno che possono essere impilati insieme? Simuleremo la costruzione di alcuni scaffali di libri con quelli con qualche arte ASCII.
I nostri libri sono tutti di dimensioni convenientemente uniformi e sembrano tutti i seguenti:
|X|
|X|
|X|
Gli scaffali sono scatole individuali, sempre tre caratteri in alto all'interno (abbastanza per adattarsi a un libro in posizione verticale), composti da |personaggi a sinistra e a destra, -caratteri per la parte superiore e inferiore e abbastanza ampi da contenere i Xlibri (dove Xc'è un input numero intero). Ad esempio, ecco uno scaffale di dimensioni 3:
|---------|
| |
| |
| |
|---------|
perché puoi inserire 3libri in questo modo
|---------|
||X||X||X||
||X||X||X||
||X||X||X||
|---------|
L'input sarà due numeri interi assolutamente positivi Xe Y, dov'è Xla larghezza degli scaffali che abbiamo (misurata in libri), ed Yè quanti libri dobbiamo impilare. Se disponiamo di più libri di quanti ce ne siano su un singolo ripiano, dobbiamo aggiungere più ripiani in cima. Ad esempio, ecco l'input 4 wide / 6 books:
|------------|
||X||X| |
||X||X| |
||X||X| |
|------------|
|------------|
||X||X||X||X||
||X||X||X||X||
||X||X||X||X||
|------------|
Se Y % X > 0, il che significa che il numero di libri non è un multiplo intero delle dimensioni dello scaffale, i libri rimanenti dovrebbero andare nella posizione più in alto a sinistra (come nel caso 4 6sopra, sopra) e la parte rimanente di quello scaffale riempita con spazi.
Ingresso
- Due numeri interi strettamente positivi in qualsiasi formato conveniente , ciascuno
>0. - Puoi prendere l'input in entrambi gli ordini (ad esempio, prima le dimensioni degli scaffali, quindi il numero di libri o viceversa). Si prega di indicare nell'invio l'ordine di input.
- Puoi tranquillamente supporre che nessuno dei due input sarà più grande del valore predefinito della tua lingua
[int]dimensione (o equivalente).
Produzione
La risultante rappresentazione artistica ASCII dei libri e degli scaffali.
Regole
- Le nuove linee iniziali o finali o gli spazi bianchi sono tutti opzionali, purché i personaggi stessi si allineino correttamente.
- È accettabile un programma completo o una funzione. Se una funzione, è possibile restituire l'output anziché stamparlo.
- Se possibile, includi un collegamento a un ambiente di test online in modo che altre persone possano provare il tuo codice!
- Scappatoie standardSono vietate le .
- Si tratta di code-golf quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).
Ulteriori esempi
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||
|------------|