注意:由于SE字体怪异:P :(
给定一个代表矩形角的四元组列表,以该顺序在彼此之间绘制半透明矩形。
对于此挑战,您需要在左上角具有最小的坐标,并且x轴向右增加,y轴向下增加。
四元组(x0, y0, x1, y1)
或(x0, x1, y0, y1)
代表(x, y)
矩形的左上角和右下角的坐标对(您可以为矩形选择两种格式中的任一种,但必须一致)
“半透明矩形”是什么意思?好吧,对于这个挑战,您将使用空格字符和大多数箱形绘图字符。特别是所有用于绘制矩形的矩形,包括“粗体”字符。绘制半透明的矩形时,首先将占据空间的所有细线消失,所有粗线都将变细,然后再用粗线绘制矩形本身。
例如,如果先在左上角绘制一个矩形,然后在右下角绘制一个矩形,则它可能看起来像这样:
┏━━━━┓
┃ ┃
┃ ┃
┃ ┏━━╇━━┓
┃ ┃ │ ┃
┗━╉──┘ ┃
┃ ┃
┃ ┃
┗━━━━━┛
为了清楚起见,严格在矩形内的所有线条的线条都会变亮(粗体->细线->无)(例如,朝下的线条的顶部边缘而不是底部边缘受到影响)。
测试用例
对于每个测试用例,将给出一定数量的输入行,然后是unicode-art。
0 0 5 5
5 5 10 10
3 3 7 7
2 2 8 8
┏━━━━┓
┃ ┃
┃ ┏━━╇━━┓
┃ ┃┌─┴─┐┃
┃ ┃│ │┃
┗━╉┤ ├╊━┓
┃│ │┃ ┃
┃└─┬─┘┃ ┃
┗━━╈━━┛ ┃
┃ ┃
┗━━━━┛
14 5 15 9
13 2 15 16
6 4 15 11
┏━┓
┃ ┃
┏━━━━━━╇━┫
┃ │ ┃
┃ │ ┃
┃ │ ┃
┃ │ ┃
┃ │ ┃
┃ │ ┃
┗━━━━━━╈━┫
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┗━┛
6 8 10 11
15 12 16 16
14 10 16 16
9 1 15 15
┏━━━━━┓
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┏━━╉┐ ┃
┃ ┃│ ┃
┃ ┃│ ┌╊┓
┗━━╉┘ │┃┃
┃ │┠┨
┃ │┃┃
┃ │┃┃
┗━━━━╈┩┃
┗┷┛
规则
- 对于四元组列表,输入可以采用任何合理的格式。输入可以是一索引或沿任一轴的零索引(即,左上角可以是任何的
(0, 0)
,(0, 1)
,(1, 0)
,(1, 1)
。 - 输出必须是所描述的unicode-art。输出可能没有前导换行符,并且最多只能有一个尾随换行符(在最后一行之后)。出于此挑战的目的,尾随空格将被忽略。
代码点
水平和垂直的粗体和轻管都在范围内[U+2500, U+2503]
。各种角管都在范围内[U+250C, U+251C)
。三臂管道在范围内[U+251C, U+253C)
。四臂管道在范围内[U+253C, U+254C)
。在我的程序中可以找到的其余管道实际上从未使用过。