Я решаю проблему N-Queen и сталкиваюсь с проблемой, когда N = 8.Когда N = 8, алгоритм застревает в бесконечном цикле.К сожалению, я не могу поделиться своим кодом с вами из-за обязательства, которое я подписал, но я надеюсь, что смогу прояснить это.Давайте возьмем следующую конфигурацию:
. 0 1 2 3 4 5
0 - - - - - Q
1 - - - Q - -
2 - Q - - - -
3 - - - - Q -
4 - - Q - - -
5 - - - - - Q
Мой код возьмет случайную строку и вычислит угрозы в каждой ячейке и переместит ферзя в ячейку минимальной угрозы.В этом случае строки 1, 2, 3 и 4 не могут быть изменены, поскольку ферзь находится в самой нижней ячейке с резьбой.строки 0 и 1 могут переместиться в крайнее левое положение, но они все равно будут лечить друг друга.Что заставит алгоритм застрять в бесконечном цикле.