Решение игры с использованием двух матриц 3х3 - PullRequest
2 голосов
/ 31 октября 2009

У меня есть две матрицы 3х3. Один представляет фактическое состояние, а другой в «текущем» состоянии.

Actual state -> 1,2,3
                5,7,6,
                9,8,x

Current state1 -> 3,1,2
                  x,6,7
                  8,9,4

Мне нужно привести матрицу текущего состояния в исходное состояние, выполнив только перестановки элемента x и смежного элемента в горизонтальном или вертикальном направлении (диагональ не допускается).

E.g. Current state 2 can be x,1,2  or 3,1,2 
                            3,6,7     6,x,7  
                            8,9,4     8,9,4 

Я могу решить это, пока оно не достигнет этого состояния

current state n -> 1,2,3
                   5,7,6
                   8,9,x

Я не знаю, как перейти к исходному состоянию после этого, то есть поменять местами два элемента. Не могли бы вы помочь мне здесь?

Спасибо

1 Ответ

4 голосов
/ 31 октября 2009

Итак, если вы говорите о такой загадке (только меньше)

альтернативный текст http://www.maukatoyventures.com/images/T/Number%20Puz%20Wall%20Panel.jpg

, тогда вы можете использовать большинство алгоритмов поиска на графике (Поиск в глубину, Поиск в ширину, A *, если хотите получить фантазию), чтобы решить его. Существует хороший обзор их, поскольку они относятся к этой конкретной проблеме здесь . Существует также огромное количество информации обо всем этом в Интернете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...