А зачем там что-то программировать если есть возможность вывести формулу?
Всего 9 цифр и для каждой из них есть максимум 8 ходов чтобы вернуться к началу.
Значит существует такое число ходов для каждой цифры при котором любые последовательности ходов будут приводить обратно к ней и ситуация будет повторятся.
Нет там вертикали или горизонтали. Есть только четность. Забудь что написано на костяшках это не принципиально. Восстановить можно только пройдя путь в обратную сторону. Отсюда и четность. Один раз идёшь вперёд, другой раз назад.
Предлагаю использовать округление с учетом погрешности. Это когда идет подряд несколько округлений, то каждое следующее округление делается с учетом той "отброшенной" на предыдущем округлении частички.
А зачем там что-то программировать если есть возможность вывести формулу?
Всего 9 цифр и для каждой из них есть максимум 8 ходов чтобы вернуться к началу.
Значит существует такое число ходов для каждой цифры при котором любые последовательности ходов будут приводить обратно к ней и ситуация будет повторятся.
Это похоже на деление с остатком.
Фигня!
Переписывай.
Ну реально ничего не понятно.
Если б я хотел разбираться в подобной писанине, я б прям собрался и пошёл разбираться.
А так, прочитать ещё один заумный выверт... смысл?
Пустую ячейку тоже можно трогать, но нужно обязательно соблюсти четность и для неё.
Нет там вертикали или горизонтали. Есть только четность. Забудь что написано на костяшках это не принципиально. Восстановить можно только пройдя путь в обратную сторону. Отсюда и четность. Один раз идёшь вперёд, другой раз назад.
2n перестановок.
И решаемость в 50% как бы намекает ;)
Вот с пустой кажись погорячился. Трогать её нельзя по этому алгоритму.
Она вносит сумятицу.
А вот размерность может быть любая, и желаемое расположение тоже произвольное, хоть зигзагом )
Просто четность перестановок.
Это исходит из самой сути игры.
И не надо вообще никакой огород городить. Простите что сломал вам всю математику )
Просто проверьте )))
И доказывается ведь элементарно )))
Если мы переставляем любые две фишки то решения нет, а если сделать это ещё раз то решение есть.
Это как с 14 и 15. Представьте что именно их вы переставляли в обоих случаях.
Для классических любые две.
Причём и пустую тоже. Вот совсем непринципиально. В случайном порядке.
Вопрос только в четности. Причём кажется даже размер поля не влияет.
Давно было, писали как лабу, ещё на паскале. И тоже был вопрос в решаемости. Тогда ещё интернета толком не было. Тупо методом проб нашли решение.
Для классических пятнашек есть алгоритм проще: Берём любые две ячейки и меняем местами. Решение есть только для чётного количества перестановок.
Предлагаю использовать округление с учетом погрешности. Это когда идет подряд несколько округлений, то каждое следующее округление делается с учетом той "отброшенной" на предыдущем округлении частички.