タスク
この課題では、あなたの仕事は、高さが増加するいくつかのスタックの箱のASCIIアート表現を描くことです。入力としてスタックの数が与えられます。これは正の整数です。最初のスタックには、サイズが1つのボックスが含まれます2x2
。2番目のスタックには、サイズの2つのボックスが含まれます3x3
。一般に、k
thスタックにk
はsizeのボックスが含まれます(k+1)x(k+1)
。
各ボックスの境界線は文字を使用して描画され-|+
、その内部は空白で構成されます。隣接するボックスは境界線を共有するため+
、別のボックスの境界線の一部であっても、角は常にで描画する必要があります。
例
の出力1
:
++
++
の出力2
:
+-+
| |
+-+
++ |
++-+
の出力3
:
+--+
| |
| |
+--+
| |
+-+ |
| +--+
+-+ |
++ | |
++-+--+
の出力5
:
+----+
| |
| |
| |
| |
+----+
| |
| |
| |
+---+ |
| +----+
| | |
| | |
+---+ |
| | |
| +----+
+--+ | |
| +---+ |
| | | |
+--+ | |
| | +----+
+-+ +---+ |
| +--+ | |
+-+ | | |
++ | | | |
++-+--+---+----+
ルールとスコアリング
入力は、コマンドライン引数として、または関数引数としてSTDINから受け取ることができます。出力は、STDOUTまたは最も近い同等のものに送信する必要があります。前後の改行と同様に、任意の有限量の末尾の空白を使用できますが、余分な先行スペースを含めることはできません。
これはコードゴルフであるため、最小のバイト数が優先されます。標準の抜け穴は許可されていません。
Integer.MaxValue
入力として機能しません。
Integer.MaxValue
同等またはそれを超えないすべての入力に対して解決策が機能する必要があります。
n
を示す良い例だと思いますn-1
。2つのプラスが重複することはありません。