无需登录 数据私有 本地保存

数图/逻辑绘图求解器 - 自动解Nonogram

29
0
0
0
Nonogram 求解器
大小
就绪
请选择预设谜题或设置网格大小
填充格 × 标记空 | 点击切换:空→填充→标记×→空 右键:快速标记×
常见问题与知识点

Nonogram(又称数图、Picross、Griddlers、Hanjie)是一种源自日本的逻辑谜题。玩家根据网格外侧的行提示数字和列提示数字,推断出哪些格子需要填充,最终形成一幅像素图案。每个数字表示该行/列中连续填充格子的数量,数字之间至少有一个空格。

  1. 每行左侧的数字提示表示该行中连续黑色块的长度序列,顺序从左到右。
  2. 每列上方的数字提示表示该列中连续黑色块的长度序列,顺序从上到下。
  3. 同一行/列中的不同黑色块之间必须至少隔一个空白格。
  4. 所有行和列的提示必须同时满足,最终形成唯一的图案。

本求解器采用约束传播算法(Constraint Propagation):对每一行和每一列,根据提示数字生成所有可能的填充排列,然后找出所有排列中共同确定的格子(必填或必空)。通过反复迭代行和列的约束传播,逐步缩小可能性空间,直至网格稳定。对于需要猜测的复杂谜题,求解器还会尝试回溯搜索来找到唯一解。

  • 边缘法:从最大提示数字开始,如果某行/列的提示数字大于网格长度的一半,则中间部分必定被填充。
  • 重叠法:对于一行,将所有可能的填充排列画出,重叠部分即为确定格。
  • 边界约束:利用已确定的填充格和空白格,缩小相邻行/列的可能性。
  • 逐行逐列迭代:每次确定新格子后,重新检查相关的行和列,往往能连锁推导出更多格子。

常见变体包括:彩色Nonogram(使用多种颜色填充,每种颜色有独立提示)、三角形Nonogram(使用三角形网格)、3D Nonogram(立体版本)以及Meganonogram(超大尺寸,可达100×100以上)。任天堂的《Picross》系列游戏是Nonogram最著名的电子游戏改编。

一个设计良好的Nonogram应该有唯一解。如果约束传播无法完全确定所有格子,可能存在多个解。本求解器在约束传播后会检测是否所有格子都被确定,若存在未知格子,会在日志中提示可能需要回溯搜索。实际解题时,如果遇到多个可能解,通常说明谜题设计存在问题或需要更高级的推理技巧。