|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.11.2011, 21:12 | #1 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 15
|
Поиск маршрутов между двумя городами между n городов
Я уже поднимал подобную тему на форуме, но большую часть программы удалось написать самостоятельно. Программа находит один маршрут. Но у меня вопрос, каким образом лучше всего произвести поиск остальных маршрутов? Дело в том что программа постоянно перебирает один и тот же маршрут. А т.к. подобный маршрут был найден, она его не засчитывает и получается что прокрутка была впустую.
Условие: Написаный на данное время код: Код:
|
07.11.2011, 21:19 | #2 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 15
|
Пардон. Забыл условие.
Дано N городов, соеденённых между собой дорогами, из одного в другой можно попасть различными маршрутами. Необходимо найти для двух указаных городов все возможные маршруты. Пример входных: 7 -количество городов 9- количество соедин 1 2 - пара соеденённых городов 1 3 - пара соеденённых городов 1 4 - пара соеденённых городов 3 4 - пара соеденённых городов 3 7 - пара соеденённых городов 4 6 - пара соеденённых городов 5 6 - пара соеденённых городов 5 7 - пара соеденённых городов 6 7 - пара соеденённых городов 1 7 - маршрут Выходные данные: 4 - кол-во маршрутов 1 4 3 7 1 3 7 1 4 6 7 1 4 6 5 7 |
08.11.2011, 11:04 | #3 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
Что-то у тебя с условием не так.
"Соединение" можно понимать двояко: как однонаправленное (можно только из первого города во второй, из второго в первый нельзя) и как двунаправленное (можно и в ту, и в другую сторону). Так вот, если: - однонаправленное, то в примере в ответе первый маршрут невозможен (нет пути из 4 в 3) - двунаправленное, то в примере в ответе не хватает двух маршрутов (1 3 4 6 5 7 и 1 3 4 6 7). По сути, мое решение очень легко переделать под любой случай - надо просто убрать/добавить одну строку (можно даже настраивать параметром), она помечена в коде комментарием. Короче - voila! enjoy )) Код:
Предпочитаю на "ты".
|
08.11.2011, 14:50 | #4 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 15
|
эм... такой вопрос. эта программа в турбо паскале будет работать?) а то так с пол-тыка не могу понять, как ты её реализовал.
З.ы. в каждом городе можно побывать только один раз. ходить из одного города в другой можео как угодно. |
08.11.2011, 15:20 | #5 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 15
|
вот еще вопрос. можно ли как -то обойтись без создания текстового файла? дело в том что у меня нету прав доступа((
|
08.11.2011, 17:28 | #6 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 15
|
хм... создал на своем компьютере
Код:
|
08.11.2011, 22:09 | #7 | ||
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
Цитата:
Я писал в FreePascal (FP). В ТР она работать вроде должна, я ничего такого экстраординарного не использовал. Но две оговорки: 1. комментарии // нужно переделать на {} 2. поскольку длина строки в TP ограничена 255, то общее решение (сумма строк всех путей) не должно превышать этот размер. Длинные решения будут обрезаны. Но если выпечатывать отдельные пути на каждом шаге, то этого можно избежать. Но тогда общее количество найденных путей надо печатать В КОНЦЕ, а не в начале (как в условии). Цитата:
Конечно, можно. Либо перенаправь вывод, либо просто убери f в операторах write (и убери открытие/закрытие файла).
Предпочитаю на "ты".
|
||
08.11.2011, 22:23 | #8 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 15
|
А почему ошибка вылетает?
ошибка 201 - ошибка проверки диапазона |
08.11.2011, 23:12 | #9 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
в какой строке? это Турбо?
пиши как можно подробнее, у меня нет Турбо, так что только с твоих слов.
Предпочитаю на "ты".
|
08.11.2011, 23:14 | #10 | |
Пользователь
Регистрация: 30.10.2011
Сообщений: 15
|
Цитата:
Код:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск маршрутов между городами | DorianMark | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 30.10.2011 12:43 |
Связь между двумя ОС | Яр|/||< (^_^) | Общие вопросы Delphi | 8 | 06.07.2009 20:45 |
Расстояние между 2 городами | Uli9 | Помощь студентам | 1 | 06.12.2008 22:40 |
алгоритм нахождения наилучшего маршрута между двумя заданными городами | Uli9 | Общие вопросы Delphi | 28 | 18.11.2008 16:59 |
алгоритм нахождения наилучшего(кратчайшего) маршрута между двумя заданными городами | Uli9 | Помощь студентам | 4 | 14.11.2008 15:03 |