IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Кратчайший путь, нахождение кратчайшего пути в матрице
Vovik777
сообщение 14.01.2005 18:56
Сообщение #1


Гость






Помогите пожалуйста решить такую задачу:
Дана квадратная матрица NxN.

A11 A12 … A1n
A21 A22 … A2n
…………
An1 An2 … Ann

Нужно найти кратчайший путь из A11 в Ann при условии, что переходить можно только на элемент, который больше или равен настоящему. Двигаться можно во всех направлениях (в т.ч. и по диагонали).

Никак не могу придумать сам алгоритм поиска пути. Хотя бы в какую сторону копать?
Буду очень признателен…
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
SHnur
сообщение 14.01.2005 19:02
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской
Реальное имя: Шурик

Репутация: -  0  +


Vovik777 , проверяй все соседние еллементы ночиная с правого нижнего , в обе стороны . И если подходит по условию , то переходи туда .

Цитата
* - текущий эллемент
# - соседние эллементы
< - проверяемый ..
! - проверенный , не подошедший по условию.

###
#*#
###

###
#*#
##<

###
#*<
#<!

и т.д ...


Думаю так всё получится .


--------------------
Двадцать пятый час в сутках может появиться всего лишь из-за небольшой ошибки в программе.
Чтобы не воспользоваться сумасшедшими возможностями, нужно быть идиотом.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.01.2005 19:05
Сообщение #3


Гость






SHnur
А почему с правого нижнего а не с левого верхнего? Чем обусловлен именно такой выбор? ;)
 К началу страницы 
+ Ответить 
SHnur
сообщение 14.01.2005 19:09
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской
Реальное имя: Шурик

Репутация: -  0  +


volvo , Ну имеется ввиду начиная с самого приближённого к Ann положения .


А можно я , думаю методом волновой трассировки воспользоваться .
Подробнее тут :

http://www.codemanual.net/main/algo/alg20.htm

Vovik777 , вообше-то надо поиском по форуму пользоваться , там много чего есть .

Сообщение отредактировано: SHnur - 14.01.2005 19:14


--------------------
Двадцать пятый час в сутках может появиться всего лишь из-за небольшой ошибки в программе.
Чтобы не воспользоваться сумасшедшими возможностями, нужно быть идиотом.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.01.2005 19:15
Сообщение #5


Гость






SHnur
А оценить быстродействие своего метода сможешь?

Просто я сегодня к похожей задаче подошел через графы (алгоритм Дейкстры)... Работает очень быстро. (Буквально за 1 проход по матрице).
 К началу страницы 
+ Ответить 
SHnur
сообщение 14.01.2005 19:16
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской
Реальное имя: Шурик

Репутация: -  0  +


Думаю , что работать будет очень долго , но работать должно . ;)


--------------------
Двадцать пятый час в сутках может появиться всего лишь из-за небольшой ошибки в программе.
Чтобы не воспользоваться сумасшедшими возможностями, нужно быть идиотом.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 17:12
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"