Кратчайший путь, нахождение кратчайшего пути в матрице |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Кратчайший путь, нахождение кратчайшего пути в матрице |
Vovik777 |
Сообщение
#1
|
Гость |
Помогите пожалуйста решить такую задачу:
Дана квадратная матрица NxN. A11 A12 … A1n A21 A22 … A2n ………… An1 An2 … Ann Нужно найти кратчайший путь из A11 в Ann при условии, что переходить можно только на элемент, который больше или равен настоящему. Двигаться можно во всех направлениях (в т.ч. и по диагонали). Никак не могу придумать сам алгоритм поиска пути. Хотя бы в какую сторону копать? Буду очень признателен… |
SHnur |
Сообщение
#2
|
Пионер Группа: Пользователи Сообщений: 81 Пол: Мужской Реальное имя: Шурик Репутация: 0 |
Vovik777 , проверяй все соседние еллементы ночиная с правого нижнего , в обе стороны . И если подходит по условию , то переходи туда .
Цитата * - текущий эллемент # - соседние эллементы < - проверяемый .. ! - проверенный , не подошедший по условию. ### #*# ### ### #*# ##< ### #*< #<! и т.д ... Думаю так всё получится . -------------------- Двадцать пятый час в сутках может появиться всего лишь из-за небольшой ошибки в программе.
Чтобы не воспользоваться сумасшедшими возможностями, нужно быть идиотом. |
volvo |
Сообщение
#3
|
Гость |
SHnur
А почему с правого нижнего а не с левого верхнего? Чем обусловлен именно такой выбор? ;) |
SHnur |
Сообщение
#4
|
Пионер Группа: Пользователи Сообщений: 81 Пол: Мужской Реальное имя: Шурик Репутация: 0 |
volvo , Ну имеется ввиду начиная с самого приближённого к Ann положения .
А можно я , думаю методом волновой трассировки воспользоваться . Подробнее тут : http://www.codemanual.net/main/algo/alg20.htm Vovik777 , вообше-то надо поиском по форуму пользоваться , там много чего есть . Сообщение отредактировано: SHnur - -------------------- Двадцать пятый час в сутках может появиться всего лишь из-за небольшой ошибки в программе.
Чтобы не воспользоваться сумасшедшими возможностями, нужно быть идиотом. |
volvo |
Сообщение
#5
|
Гость |
SHnur
А оценить быстродействие своего метода сможешь? Просто я сегодня к похожей задаче подошел через графы (алгоритм Дейкстры)... Работает очень быстро. (Буквально за 1 проход по матрице). |
SHnur |
Сообщение
#6
|
Пионер Группа: Пользователи Сообщений: 81 Пол: Мужской Реальное имя: Шурик Репутация: 0 |
Думаю , что работать будет очень долго , но работать должно . ;)
-------------------- Двадцать пятый час в сутках может появиться всего лишь из-за небольшой ошибки в программе.
Чтобы не воспользоваться сумасшедшими возможностями, нужно быть идиотом. |
Текстовая версия | 12.01.2025 9:50 |