我很難找到匈牙利環難題的可接受啓發式。我正在計劃使用IDA *算法來解決並正在使用Visual Basic編寫程序。我所缺乏的是如何實現解謎的實際解決方案。我已經將左右環實現爲它們自己的陣列,並具有順時針和逆時針旋轉每個環的功能。我不是要求代碼,只是在某處開始。匈牙利環難題
這裏是2個環陣列:
Dim leftRing(19) As Integer
' leftRing(16) is bottom intersection and leftRing(19) is top intersection
Dim rightRing(19) As Integer
' rightRing(4) is top intersection and rightRing(19) is bottom intersection
在陣列中,我存儲以下作爲用於每種顏色的值: 紅色值= 1黃色= 2藍色= 3和黑色= 4
向我們展示一些工作。你說你想使用這種算法 - 你有沒有想出一些僞代碼? –
顯示「我已經將左右環實現到他們自己的數組中」的代碼,這使得回答更容易。你確定VB6嗎? VS201x Express是免費下載的。 –
主要的問題是不知道從哪裏開始爲程序做啓發式。如果我能得到一個出發點,我可以從那裏出發。我所擁有的僅僅是如何根本不使用啓發式解決謎題的基本想法。基本上將10個紅球分成左環,然後將10個黑球分成右環,並混合和匹配黃和藍,直到它們按正確順序排列。 –