这是生成Loopy拼图挑战的附加挑战。在尝试上一个链接中的较难挑战之前,您可能需要解决此挑战。
这项挑战的目的是验证一个循环难题的解决方案。请从上一链接中获取有关什么是难题的所有文档。解决的循环拼图的格式与对“生成循环拼图”挑战的有效提交的输出非常相似,其格式如下:
+-+-+ +-+ +-+ +
| | | |2|3|
+-+ + + + + +-+
2| | | |2| 3|
+ + +-+ + + +-+
2| 2 1|3| |
+-+ +-+ +-+ +-+
|2 | | 1 2|
+ +-+ +-+ +-+ +
| |2 1 2|3|3| |
+ + +-+ +-+ +-+
| | |3|2 1
+ +-+ +-+-+-+-+
| 2 2 |
+-+-+-+-+-+-+-+
组成解决方案的路径在字符之间用|
和标记。-
+
输入规格
您的程序将收到一个带有如上示例所示格式的解决方案的循环拼图作为输入。您的程序应从输入中推断出拼图的大小。您可以对输入做出以下假设:
- 拼图在两个方向上的不少于2个且不超过99个单元
- 因此,每行的最大长度为199个字符(不包括换行符)
- 因此,输入最多包含99行
- 每行可以在最后一个可打印字符之后结束,也可以用空格字符填充,因此其长度最多为2·y + 1个字符,其中y是水平方向上的单元数
- 具有x和y坐标的每个位置甚至都包含一个
+
字符 - 与包含
+
字符的位置在水平或垂直方向上相邻的位置包含空格字符,行尾或-
在水平方向上包含字符或|
在垂直方向上包含字符 - 所有其它位置或线的端部后面或包含字符之一
,
0
,1
,2
,或3
- 所有行都以您的平台默认的换行符终止
- 恰好有一条尾随换行符
应通过以下方式之一接收输入:
- 从标准输入
- 作为
p
HTTP POST请求中命名的参数的值 - 作为HTML表单的内容
- 作为
p
在实现定义的目录中命名的文件的内容 - 如果前四个不可用,则在运行时以实现定义的方式
- 如果您的语言无法接收输入,则进行硬编码
输出规格
您的程序应针对与输入规范匹配的所有输入终止,并应计算难题的解决方案是否正确。您的程序应通过以下方式之一将计算结果输出为布尔值:
- 退出状态为零(解决方案有效)或非零(解决方案无效)
- 因为字符
y
(解决方案有效)或n
(解决方案无效),然后以实现定义的方式输出零个或多个任意字符
当遇到未根据输入规范格式化的输入时,程序的行为是不确定的。
计分
程序的分数是其源中的字符数,可忽略的空白字符和可忽略的注释除外。鼓励您缩进来的内容,以便其他人更容易阅读,并评论您的解决方案,以使其易于遵循。
未能遵循输入或输出规范或生成不正确结果的提交无效。
输入如何处理?从文件读取?STDIN?我可以写一个函数吗?
—
Martin Ender 2014年
@MartinBüttner“您的程序将收到...”。不知道为什么要读取文件。
—
约翰·德沃夏克
@MartinBüttner您必须编写一个完整的程序。我认为语言“您的程序”,“将终止”,“退出状态”非常清楚。
—
2014年
另请注意,在大多数拼图
—
霍华德
0
中,单元格的有效数字也是有效的。
@Howard抱歉,错过了。
—
2014年