【问题标题】:8 puzzle solvability test cases errors8 个谜题可解性测试用例错误
【发布时间】:2017-04-24 10:26:56
【问题描述】:

我有一个 3 x 3 的拼图。要知道它是否可以解决,我需要计算反转的次数。如果反转的次数是偶数,那么它是可以解决的。 我在网上找到了一个示例代码:

https://gist.github.com/caseyscarborough/6544636

他在这里说 { 1, 0, 3, 7, 2, 5, 8, 4, 6 } 是可解的。但我的计算结果并非如此。我有(10,32,72,75,74,76,54,84,86)。所以这种情况下的反转次数是 9,这是无法解决的,因为它很奇怪。

我用代码测试过的另一种情况是 (3,0,7,6,8,2,1,4,5)。它给了我 (30,31,32,62,61,64,65,76,72,71,74,75,82,81,84,85,21),即 17 次反转。所以它是不可解的,但代码说它是可解的。

我犯了什么错误吗?还是代码有错误?

【问题讨论】:

    标签: algorithm artificial-intelligence


    【解决方案1】:

    你的方法有点不正确。假设 0 是空白方块,您应该在倒数计数中忽略它。

    在您的两个示例中进行该更改恰好排除了一个反转,因此两者都是错误的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多