少し前にデータ構造の作業を行っているときにこれを思いつきましたが、これは良いコード ゴルフになります。アスキー アートの四角形を含む文字の 2 次元配列が与えられた場合、四角形の座標とサイズのリストを作成します。
- 自明に変換可能な入力または出力形式であれば問題ありません (例: char**、文字列のリスト、標準入力の行、4 つの int のリスト、構造体、サイズの固定量 +/- など)。
- 同様に、出力は特定の順序である必要はありません。
- 無効な入力または不正な形式の四角形に役立つものは何も必要ありませんが、入力にない四角形に対して有効に見える座標を生成するべきではありません。
- 2 つの有効な長方形が 1 つを共有することはありません
+
(ただし+
、長方形の一部としてのみ表示されるわけではありません)。 - すべての長方形は少なくとも 3x3 であると想定できます。各辺には
-
or|
があります。
例:
" "
" +-+ | "
" | | \-"
" +-+ "
(2,1;3,3)
"+--+ +--+"
"| | | |"
"+--+ +--+"
(0,0;4,3), (6,0;4,3)
" +---+ "
"->|...| "
" +---+ "
(2,0;5,3)
"+-+ +--+ +--+"
"| | | | | |"
"+-+ | | + -+"
" | | "
" +--+ +-+ "
" +--+ | "
" +--+ +-+ "
(0,0;3,3), (4,0;4,5) # (2,5;4,2) is fine, but not needed