Znasz te półki, które można ustawiać jeden na drugim, które są po prostu drewnianymi skrzynkami, które można ze sobą łączyć? Zamierzamy symulować budowę niektórych półek z książkami z grafiką ASCII.
Wszystkie nasze książki są dogodnie jednolite pod względem wielkości i wszystkie wyglądają następująco:
|X|
|X|
|X|
Półki na książki to pojedyncze pudełka, zawsze po środku o wysokości trzech znaków (wystarczająco, by zmieścić książkę stojącą pionowo), złożone z |
znaków po lewej i prawej stronie, -
znaków na górze i na dole oraz wystarczająco szerokich, aby zmieściły się w X
książkach (gdzie X
jest wejście liczba całkowita). Oto na przykład półka o dużych rozmiarach 3
:
|---------|
| |
| |
| |
|---------|
ponieważ można 3
do tego dopasować książki
|---------|
||X||X||X||
||X||X||X||
||X||X||X||
|---------|
Dane wejściowe będą dwie ściśle dodatnie liczby całkowite, X
a Y
gdzie X
jest szerokość półek, które mamy (mierzone w książkach), i Y
to, ile książek musimy ułożyć w stos. Jeśli mamy więcej książek niż mieści się na jednej półce, musimy dodać więcej półek na górę. Na przykład tutaj jest wejście 4 wide / 6 books
:
|------------|
||X||X| |
||X||X| |
||X||X| |
|------------|
|------------|
||X||X||X||X||
||X||X||X||X||
||X||X||X||X||
|------------|
Jeśli Y % X > 0
, co oznacza, że liczba książek nie jest całkowitą wielokrotnością rozmiaru półki, pozostałe książki powinny znaleźć się na najwyższym lewym skrajnym miejscu (jak w przypadku 4 6
powyżej), a pozostała część tej półki powinna być wypełniona spacje.
Wkład
- Dwa ściśle dodatnie liczby całkowite w dowolnym, wygodnym formacie , każdy
>0
. - Możesz wziąć dane wejściowe w dowolnej kolejności (np. Najpierw rozmiar półek, a następnie liczba książek lub odwrotnie). Podaj w swoim zgłoszeniu kolejność wprowadzania.
- Możesz bezpiecznie założyć, że żadne dane wejściowe nie będą większe niż domyślny
[int]
rozmiar twojego języka (lub równoważny).
Wydajność
Wynikowa reprezentacja artystyczna książek i półek ASCII.
Zasady
- Wiodące lub końcowe znaki nowej linii lub białe znaki są opcjonalne, o ile same znaki są odpowiednio ustawione w linii.
- Dopuszczalny jest pełny program lub funkcja. Jeśli funkcja, możesz zwrócić dane wyjściowe zamiast je wydrukować.
- Jeśli to możliwe, dołącz link do internetowego środowiska testowego, aby inni mogli wypróbować Twój kod!
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).
Dalsze przykłady
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||
|------------|