前段时间在做一些数据结构工作时想到了这个,尽管它会成为一个很好的代码高尔夫:给定一个包含 ascii 艺术矩形的二维字符数组,生成矩形的坐标和大小列表。
- 任何可简单转换的输入或输出格式都可以(例如:char**、字符串列表、标准输入上的行;四个整数列表、结构、大小的固定数量 +/- 等)。
- 类似地,输出不需要按任何特定顺序。
- 对于无效输入或格式错误的矩形,您不需要任何有用的东西,但您不应该为不在输入中的矩形生成看起来有效的坐标。
- 没有两个有效的矩形共享一个
+
(尽管+
可能不仅作为矩形的一部分出现) - 您可以假设所有矩形至少为 3x3:每边都有一个
-
或|
。
例子:
" "
" +-+ | "
" | | \-"
" +-+ "
(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