![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
madrabbit |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здравствуйте.
Помогите пожалуйста с алгоритмом. хотя бы просто на пальцах или отправьте к соответствующим ссылкам. Интересует следующий алгоритм: Предположим задана некоторая матрица размерности N на N( положим поле больше шахматной доски), а также координаты двух точек(элементы массива a[i,j], b[i1,j1]), Задача. Найти оптимальный путь межды этими точками "шахматным конем". Решал так: забил всю матрицу нулями, два элемента - "1". функция проверки "не является ли элемент массива =1. Если нет, то в функцию передаются новые координаты(причем 8 различных точек, куда может шагнуть конь с текущего места). таким образом это приводит к многократному зацикливанию и росту рекурсивных вложений... посоветуйте принцип решения. каким способом, например, можно оборвать вложенную процедуру при приближении к краям поля. Ну и вообще... задач однотипных я знаю много. Интересует сам принцип и средства решения. Хотелось бы самому дойти, но видно опыта самоучки маловато... спасибо вам заранее за помощь! :molitva: Сообщение отредактировано: madrabbit - 18.12.2004 17:53 |
![]() ![]() |
madrabbit |
![]() ![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
ВОПРОС! не пойму почему не получается. 8(
вроде правильно написано. но судя по результатам все действия просиходят на одной и той же матрице. Хотя по идее для каждой ветки рекурсии ДОЛЖНА определяться своя матрица! (не знаю, понятно ли объяснил) ну и пока я не дописал хранение промежуточных результатов. Проблема в том(как я уже писал), чтобы для каждого нового дерева бралась чистая матрица! Подскажите, в чем ошибка... Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата(madrabbit @ 29.01.05 14:11) Хотя по идее для каждой ветки рекурсии ДОЛЖНА определяться своя матрица! Тогда попробуй генерировать динамическую матрицу при каждом входе в рекурсию... Но вот хватит ли памяти... |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 12:42 |