生成一个哈希谜题

6
我想创建一个iPhone应用程序,可以生成Hashi谜题(如果您不知道这个谜题,可以参考维基百科文章:https://en.wikipedia.org/wiki/Hashiwokakero)。 我认为开发解决算法并不太难,但是我不确定如何生成它。
以下是我的方法(我不确定这是否有效):我会生成几个岛屿(或片段),但仅当它们允许有可能的解决方案时。然后,在每个生成的岛屿之后,我运行解决算法并检查是否可以解决。如果可以,就完成了。否则,我要么删除该片段并生成另一个,要么添加另一个。
你觉得呢?这种方法可行吗?有没有更有效的方法?

你找到一种生成 Hashi 谜题的算法了吗? - Zvi
1个回答

4
我会逐步构建一个“解决方案”,每一次都要:
  • 添加一个节点
  • 添加一个或多个桥接器(如果这不可能,选择一个新的节点)
  • 递增计数器。
  • 将被桥接使用的位置标记为不可用。
这确保了有一个解决方案,但我猜真正的难题只有一个解决方案,所以后来你需要通过求解器验证这一点,可能还需要添加/删除节点直到满足此规则。

那样做是可行的,但这个问题不是谜题可能无法通过逻辑解决吗?你会如何解决这个问题? - user767985
它总是可以通过逻辑来解决。我认为你的意思是可能会生成一个困难的谜题。我将使用求解器来衡量难度。 - Karoly Horvath
你的意思是每个有效的谜题都可以在不进行试验的情况下解决吗?那么我只需要测量解决者解决它所需的时间并获得难度!太棒了,谢谢! - user767985

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接