总览
给定许多六角形,将它们排列成50乘50 ASCII艺术图像范围内的连接形状。您可以选择任意形状-只要您将其连接,就可以发现最适合打高尔夫球的形状。如果它们大于一个六边形,则可能会有孔(否则,六边形的数量将是不明确的)。
布局
所有六边形都必须采用以下形式(仅此大小和方向有效):
__
/ \
\__/ Note there are 2 underscores per horizontal edge.
如果两个六边形共享一条边,则它们直接相连:
__ __
/ \__ / \
\__/ \ \__/
\__/ or / \
\__/
如果两个六角形仅共享一个顶点,则它们不连接:
__ __
/ \/ \
\__/\__/
共享半边也不算是已连接:
__
/ \
\__/
/ \
\__/
如果存在仅使用直接连接的六边形从任意六边形到其他任意六边形的路径,则连接六边形的集合。
孔洞
相连的六边形集合中的六边形大小的孔算作六边形,因此任何给定的ASCII艺术作品都具有明确的六边形数。
这并不会因为未来的孔是一个六边形算作一个孔:
__
__/ \__
/ \__/ \
\__/ \__/
/ \__/ \
\__/ \__/
\__/ 7 hexagons (not 6 with a hole)
这确实算作一个孔,因为它不对应于单个六角形:
__
__/ \__
/ \__/ \__
\__/ \__/ \
/ \__ \__/
\__/ \__/ \
\__/ \__/
\__/ 8 hexagons with a hole
输入输出
输入值
1至255之间的整数。
输出量
如上所述,表示连接的六边形的输入数量的ASCII艺术字串。
- 行数(以换行符分隔的子字符串)最多为50,另外还有一个可选的尾随换行符。
- 行的长度不必相同,但每行的长度最多为50。
- 如果总行数不超过50,则零长度行可以存在于连接形状的上方或下方。
- 如果总行数不超过50,则仅空格行可以存在于连接形状的上方或下方。
- 如果行的长度不超过50(形状不需要向左对齐),则形状的左侧可能会出现空格。
- 如果行的长度不超过50,则形状的右侧可能会出现空格。
- 不构成连接形状一部分的任何字符都必须是空格或换行符。
如果输出正确,则不需要从一次运行到下一次运行保持一致。
例子
输入: 6
有效输出:
__ __ __
/ \__/ \__/ \__
\__/ \__/ \__/ \
\__/ \__/ \__/
__ __
/ \__/ \
\__/ \__/
/ \__/ \
\__/ \__/
\__/
__
__ / \
/ \__ \__/
\__/ \__/ \
\__/ \__/
\__/
/ \
\__/
无效的输出:
__
__/ \__
/ \__/ \
\__/ \__/
/ \__/ \
\__/ \__/
\__/ Invalid for 6 as the centre hole counts as a 7th hexagon.
__ __ __ __
/ \__/ \__/ \ / \
\__/ \__/ \__/ \__/
\__/ \__/ Invalid as the 6 hexagons are not connected.
__ __ __ __
/ \__/ \__/ \/ \
\__/ \__/ \__/\__/
\__/ \__/ Invalid as vertex touching does not count as connected.
__ __ __
/ \__/ \ / \
\__/ \__/ \__/
/ \__/ \
\__/ \__/
\__/ Invalid as the 6 connected hexagons are not the only visible characters.
获奖
以字节为单位的最短有效答案为准。
排行榜
(使用Martin的页首横幅代码段)
6
。对于255
六边形的水平行的输入,不适合50 x 50的ASCII图形。