【文件属性】:
文件名称:alcazam:阿尔卡萨谜题解决者
文件大小:11KB
文件格式:ZIP
更新时间:2021-06-15 13:27:11
C
阿尔卡萨姆
C 语言中的谜题求解器。
仅使用前向逻辑步骤,因此任何解决方案都必须是唯一解决方案。 求解器使用的步骤是:
检查单个单元格:
如果两条边交叉,则将剩余的两条边标记为阻塞(详细输出中为红色)
如果两条边被阻挡,则将剩余的两条边标记为交叉
检查循环或提前退出:
阻止可用于制作不接触所有单元格的循环或解决方案的任何边缘
如果一个单元格的两条边会创建一个循环,但另一个被阻止,则将剩余的边标记为交叉
分区检查: 如果添加单个阻塞边会将关卡划分为两个不相连的单元集,请将此边标记为交叉
奇偶校验: 考虑所有 NxM 单元格块,然后检查其中连接单元格岛上的
一旦其中一个步骤成功,求解器就会返回到第一步,并带有新的部分解决的谜题。 如果所有步骤都失败,则求解器放弃并输出目前为止的结果。
用法
alcazam [-f filename] [-r] [-v]
-f filename
【文件预览】:
alcazam-master
----.gitignore(32B)
----ball_room_example.az(952B)
----Makefile(348B)
----board.h(640B)
----advanced_97.az(1KB)
----io.h(171B)
----README.md(3KB)
----advanced_77.az(845B)
----hand_made.az(1024B)
----io.c(8KB)
----alcazam.sublime-project(45B)
----main.c(25KB)