PROJECT EULER · #0424
数和谜题
Kakuro

上面是一个神秘的 kakuro(也称为交叉和,甚至交叉和)难题的示例,其最终解决方案在右侧。 (数谜题的通用规则可以在众多网站上轻松找到。其他相关信息目前还可以在 krazydad.com 上找到,其作者提供了本次挑战的谜题数据。)
可下载的文本文件 (kakuro200.txt) 包含 200 个此类谜题的描述,混合了 5x5 和 6x6 类型。文件中的第一个谜题是上面的示例,其编码如下:
6,X,X,(vCC),(vI),X,X,X,(hH),B,O,(vCA),(vJE),X,(hFE,vD),O,O ,O,O,(hA),O,I,(hJC,vB),O,O,(hJC),H,O,O,O,X,X,X,(hJE),O,O,X
第一个字符是一个数字,表示信息网格的大小。它可以是 6(对于 5x5 数谜题)或 7(对于 6x6 谜题),后跟逗号 (,)。需要额外的顶行和左栏来插入信息。
然后描述每个单元格的内容,后跟一个逗号,从左到右并从顶行开始。
X = 灰色单元格,不需要填写数字。
O(大写字母)= 由数字填充的白色空白单元格。
A = 或从 A 到 J 中的任意一个大写字母,替换为已解决谜题中的等效数字。
( ) = 加密总和的位置。水平总和前面有一个小写"h",垂直总和前面有一个小写"v"。这些后面跟着一个或两个大写字母,具体取决于总和是一位数还是两位数。对于两位数和,第一个字母代表"十",第二个字母代表"个位"。当单元格必须包含水平和垂直总和的信息时,第一个始终用于水平总和,并且两者在同一组括号内用逗号分隔,例如:(hFE,vD)。每组括号后面还紧跟着一个逗号。
最后一个单元格的描述后面是回车/换行 (CRLF),而不是逗号。
每个谜题所需的答案基于得出解决方案所需的每个字母的值并按照字母顺序排列。如示例谜题所示,其答案为 8426039571。 10 个加密字母中至少有 9 个始终是问题描述的一部分。当只给出 9 时,必须为缺少的一位分配剩余的数字。
文件中前 10 个谜题的答案总和为 64414157580。
求 200 个谜题答案的总和。
题解待补充
这道题的题目已收录,解题思路、代码和答案将在后续补充。