2

次のようなパズルを解いています。

1 つの要素が "-" で、他の要素がすべて整数の 5x5 行列があります。
「-」ストレート(斜めではなく)で任意の要素を交換できます。
最後に、行列を並べ替える必要があります。

これらは私が従う手順です:

1) Receive user input for 5x5 matrix
2) Locate the position of "-"
3) Find the eligible candidates to be swapped with "-"
4) Apply some algorithm and find the most eligible candidate
5) Swap the element with "-"
6) Repeat the steps 3-5 until matrix is sorted

ステップ 3 まで完了しました。ただし、ステップ 4 に適用するロジックがわかりません。最も適格な候補者を見つける方法を教えてください。

Input Matrix

17   7   9   18   3
15   11  1   12   14
2    -   4   21   24
5    19  6   18   8
10   13  16  19   20

Eligible candidates to swap with "-" are 11,2,4,19


Sorted matrix

1   2   3   4   5
6   7   8   9   10
11  12  13  14  15
16  17  18  19  20
21  22  23  24  -
4

2 に答える 2

4

これは最も簡単な作業ではありません。以下に 2 つのリンクを示します。

http://en.wikipedia.org/wiki/N-puzzle#解決可能性

http://cseweb.ucsd.edu/~ccalabro/essays/15_puzzle.pdf

于 2012-07-15T09:23:04.917 に答える
0

マンハッタン距離ヒューリスティックで A* のような AI アルゴリズムを使用することをお勧めします。

A* アルゴリズムについては、こちらをお読みください

マンハッタン距離ヒューリスティックについては、こちらをお読みください

于 2012-07-15T13:19:02.030 に答える