![]() |
![]() |
Тёмный Эльф |
![]() ![]()
Сообщение
#1
|
![]() Влюблённый псих ![]() ![]() ![]() Группа: Пользователи Сообщений: 185 Пол: Женский Реальное имя: Лейла Репутация: ![]() ![]() ![]() |
Привет! Подскажите пожалуйста с алгоритмом.
Есть матрица n на n. Имеется трехмерный кубик, который в начале пути находится в ячейке A[1,1], а в конце пути должен попасть в ячейку A[1,n]. При этом он должен пройти все ячейки матрицы, да еще плюс к этому не должен вставать на новую позицию своей запрещенной стороной (проще говоря, перваливаясь с одной своей стороны на другую, он не должен прикасаться к полу запрещенной стороной). В самом начале пути эта запрещенная сторона находится сверху. Для матриц 2x2 и 3x3 этот путь легко найти. В первом случае кубик проходит путь 1342 (если элементы матрицы пронумерованы по порядку), а во втором 125478963. Но как быть с матрицами 4x4 и большего размера я уже не знаю! Может, существует общий алгоритм нахождения этого пути? |
![]() ![]() |
hardcase |
![]()
Сообщение
#2
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
Написал программу. Правда, на С# (паскаля нету на машине, но код неотличим от C-шного). Для размера поля 3х3 решение существует, для 6х6, для 7х7. Для размеров выше - не знаю.
З.Ы. багу исправлял =)) - вот и правил мессагу. З.З.Ы. в аттаче пример обхода квадрата 6х6, который предложила программа - это известный фрактал, (не помню как называется) сразу наталкивает на мысли о множестве матриц, для которых существует решение. Сообщение отредактировано: hardcase - 25.11.2007 17:42 Эскизы прикрепленных изображений ![]() -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
![]() ![]() |
![]() |
Текстовая версия | 23.06.2025 10:41 |