Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2011, 15:33   #1
ngup_k
Новичок
Джуниор
 
Регистрация: 28.11.2011
Сообщений: 1
Вопрос НУЖНА ХОТЯ БЫ ИДЕЯ ИДЕЯ РЕШЕНИЯ!) немного непонятная задача с массивом....

Мне не совсем понятно условие,и как это реализовать на Pascal...
Автобусные рейсы заданы массивом, индексами которого являются города, в которых начинается рейс, а элементами - множества городов, в которые можно попасть из данного города за один рейс. Составить процедуру, которая определяет множество городов, в которые можно попасть, двигаясь из города X в город Y (через которые проходит любой путь).
ngup_k вне форума Ответить с цитированием
Старый 12.12.2011, 19:33   #2
val_nnm
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 185
По умолчанию

(Обращаю ваше внимания что в задаче нет запрета на посещение одного и тогоже города несколько раз, что значительно упрощает задачу)
Тут можно придумать несколько вариантов решения.

Ну например так: (если полжить что сами города X и Y можно посещать несколько раз)
1) Создать 2 множества. FromX (множество городов достижимых из города X) и ToY (множество городов из которых достижим Y)
2) Проинициализировать FromX городом X, ToY городом Y.
3) В цикле (который продолжаеться пока значение FromX изменяеться) Добавляем в множество FromX те города в которые можно попасть за 1 ход из городов FromX.
4) В цикле (который продолжаеться пока значение ToY изменяеться) Добавляем в множество ToY те города из который можно попасть за 1 ход в города ToY.
5) Находим пересечение FromX и ToY И получившегося результата исключаем сами города X и Y. И получаеться ответ.

А если полжить что X и Y посещать несколько раз нельзя то в циклах 3 и 4 после каждого шага из множеств FromX и ToY нужно исключать города Y и X.


Этот алгоритм можно также ещё оптимизировать (в циклах искать города не для всего множества FromX и ToY а только для их последних изменений)

Можно также придумать алгоритмы с дополнительными массивами.
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает."

Последний раз редактировалось val_nnm; 12.12.2011 в 19:49.
val_nnm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна идея Pein95 Общие вопросы Delphi 7 02.05.2011 15:56
Сравнение даты (PHP MYSQL) Нужна идея реализации! YuZi_2009 PHP 6 11.02.2011 14:55
Нужна идея для проекта Merkator Фриланс 6 13.09.2010 18:42
Мозгоштурм или нужна идея :) Molotoff Общие вопросы C/C++ 6 25.06.2009 18:10
Нужна идея viter.alex Microsoft Office Word 13 06.02.2009 00:07