あなたはあなたの友人のために宝探しを組織しています。物事をより簡単に行うには、貴重なオブジェクトを隠したすべての場所の地図を描きたいと思います。
入力
(負ではない)x座標とy座標で構成0 0され、左上隅である点のリストを示す任意の形式の入力が許可されます(注:回答で1ベースのインデックスを使用することもできます。 )。例:
1 2
3 0
0 1
チャレンジ
関数またはプログラムはx、出力内の行y + 1および列x + 1にマークがある場所で、指定されたすべての場所を示すマップを構築できる必要があります。マークされていない場所はで表されます。マップは、角が+s、垂直線が|s、水平線が-sのフレームで構成されます。ソリューションは、可能な限り小さいフレームを出力する必要があります。上記の入力例のマップ:
+----+
| x|
|x |
| x |
+----+
可能なテストケース
"0 0"
=>
+-+
|x|
+-+
"0 10
5 5
10 0"
=>
+-----------+
| x|
| |
| |
| |
| |
| x |
| |
| |
| |
| |
|x |
+-----------+
""
=>
++
++
"0 0
0 2
2 0"
=>
+---+
|x x|
| |
|x |
+---+
もちろん、これはcode-golfです。つまり、バイト数が最も少ないソリューションが勝ちます。ソリューションの説明をお勧めします。
the input is a list of locations (e.g. nested list, list of tuples, space & newline separated, separate inputs, ect.)