2017-04-24 50 views
1

我有一個3乘3難題。要知道它是否可以解決,我需要計算倒數的個數。如果甚至倒數的數量,那麼它是可以解決的。 我發現了一個示例代碼在線:8拼圖可解決性測試用例錯誤

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次反演。所以它是不可解的,但代碼說它是可以解決的。

我犯了什麼錯誤嗎?或者代碼中是否有錯誤?

回答

1

您的方法稍微不正確。假設0是空白方塊,你應該在倒數計數時忽略它。

做出這樣的改變在你的兩個例子中都不包括一個反轉,所以兩者都是錯誤的。