基本的に一緒に積み重ねることができる木製の箱である積み重ね可能な棚を知っていますか?ASCIIアートを使用した本棚から本棚を作成することをシミュレートします。
私たちの本はすべて便利なサイズで統一されており、すべて次のように見えます。
|X|
|X|
|X|
本棚は個別の箱で、常に内側が3文字の高さ(直立した本に収まるのに十分な大きさ)で、|
左右の-
文字、上下の文字で構成され、X
本が収まるのに十分な幅です(X
入力は整数)。たとえば、サイズの本棚は3
次のとおりです。
|---------|
| |
| |
| |
|---------|
3
書籍をそのように収めることができるからです
|---------|
||X||X||X||
||X||X||X||
||X||X||X||
|---------|
入力は、2つの厳密に正の整数にX
なりますY
。ここX
で、棚の幅(本で測定)と、Y
積み重ねなければならない本の数です。1つの棚に収まるよりも多くの本がある場合は、上部にさらに棚を追加する必要があります。たとえば、ここに入力があります4 wide / 6 books
:
|------------|
||X||X| |
||X||X| |
||X||X| |
|------------|
|------------|
||X||X||X||X||
||X||X||X||X||
||X||X||X||X||
|------------|
Y % X > 0
書籍の数が棚サイズの整数倍でないことを意味する場合、残りの書籍は一番上の左端の位置に移動し(4 6
上記の場合のように)、その棚の残りの部分はスペース。
入力
- 二厳密に正の整数任意の便利な形式で、各
>0
。 - どちらの順序でも入力できます(たとえば、棚のサイズを最初に、次に本の数、またはその逆)。提出物に入力順序を明記してください。
- どちらの入力も、言語のデフォルト
[int]
サイズ(または同等のサイズ)よりも大きくないと想定できます。
出力
結果として生じる本と本棚のASCIIアート表現。
ルール
- 文字自体が正しく並んでいる限り、先頭または末尾の改行または空白はすべてオプションです。
- 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。
- 可能であれば、他の人があなたのコードを試すことができるように、オンラインテスト環境へのリンクを含めてください!
- 標準的な抜け穴は禁止されています。
- これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。
さらなる例
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||
|------------|