Sie kennen diese stapelbaren Regale, die im Grunde genommen nur Holzkisten sind, die zusammen gestapelt werden können? Wir werden simulieren, wie man Bücherregale aus solchen mit ASCII-Grafik baut.
Unsere Bücher haben alle eine bequeme einheitliche Größe und sehen alle wie folgt aus:
|X|
|X|
|X|
Bei den Bücherregalen handelt es sich um einzelne Schachteln, die innen immer drei Zeichen hoch sind (genug für ein aufrecht stehendes Buch), die aus |
Zeichen links und rechts, -
Zeichen oben und unten bestehen und breit genug für X
Bücher sind (wo X
eine Eingabe erfolgt) ganze Zahl). Zum Beispiel ist hier ein Bücherregal der Größe 3
:
|---------|
| |
| |
| |
|---------|
weil man so 3
bücher hineinstecken kann
|---------|
||X||X||X||
||X||X||X||
||X||X||X||
|---------|
Die Eingabe wird aus zwei streng positiven ganzen Zahlen bestehen, X
und Y
wo X
ist die Breite der Regale, die wir haben (gemessen in Büchern), und Y
wie viele Bücher müssen wir stapeln. Wenn wir mehr Bücher haben, als in ein einzelnes Regal passen, müssen wir oben mehr Regale hinzufügen. Hier ist zum Beispiel die Eingabe 4 wide / 6 books
:
|------------|
||X||X| |
||X||X| |
||X||X| |
|------------|
|------------|
||X||X||X||X||
||X||X||X||X||
||X||X||X||X||
|------------|
Wenn Y % X > 0
, was bedeutet, dass die Anzahl der Bücher kein ganzzahliges Vielfaches der Regalgröße ist, sollten sich die restlichen Bücher ganz oben links befinden (wie im Fall von 4 6
oben) und der verbleibende Teil dieses Regals mit gefüllt sein Leerzeichen.
Eingang
- Jeweils zwei streng positive ganze Zahlen in einem beliebigen Format
>0
. - Sie können die Eingabe in beliebiger Reihenfolge vornehmen (z. B. zuerst die Größe der Regale, dann die Anzahl der Bücher oder umgekehrt). Bitte geben Sie bei Ihrer Einsendung die Eingabereihenfolge an.
- Sie können davon ausgehen, dass keine Eingabe größer ist als die Standardgröße
[int]
(oder eine entsprechende Größe) Ihrer Sprache .
Ausgabe
Die daraus resultierende ASCII-Kunstdarstellung der Bücher und Bücherregale.
Regeln
- Führende oder nachfolgende Zeilenumbrüche oder Leerzeichen sind optional, sofern die Zeichen selbst korrekt ausgerichtet sind.
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Fügen Sie nach Möglichkeit einen Link zu einer Online-Testumgebung hinzu, damit andere Benutzer Ihren Code ausprobieren können!
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
Weitere Beispiele
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||
|------------|