Форум программистов, компьютерный форум CyberForum.ru

Задача на алгоритм Дейкстры (как лучше хранить информацию?) - C++

Восстановить пароль Регистрация
 
PG94
2 / 2 / 0
Регистрация: 15.01.2012
Сообщений: 181
20.09.2012, 20:37     Задача на алгоритм Дейкстры (как лучше хранить информацию?) #1
Доброго времени суток.
Есть задача:
Одна из команд-участниц олимпиады решила вернуться домой на электричках. При этом ребята хотят попасть домой как можно раньше. К сожалению, не все электрички идут от города, где проводится олимпиада, до станции, на которой живут ребята. И, что еще более обидно, не все электрички, которые идут мимо их станции, останавливаются на ней (равно как вообще, электрички останавливаются далеко не на всех станциях, мимо которых они идут). Все станции на линии пронумерованы числами от 1 до N. При этом станция номер 1 находится в городе, где проводится олимпиада, и в момент времени 0 ребята приходят на станцию. Станция, на которую нужно попасть ребятам, имеет номер E. Напишите программу, которая по данному расписанию движения электричек вычисляет минимальное время, когда ребята могут оказаться дома.
Входные данные
Во входном файле записаны сначала числа N (2 ≤ N ≤ 100) и E (2 ≤ E ≤ N). Затем записано число M (0 ≤ M ≤ 100), обозначающее число рейсов электричек. Далее идет описание M рейсов электричек. Описание каждого рейса электрички начинается с числа Ki (2 ≤ Ki ≤ N) — количества станций, на которых она останавливается, а далее следует Ki пар чисел, первое число каждой пары задает номер станции, второе — время, когда электричка останавливается на этой станции (время выражается целым числом из диапазона от 0 до 109). Станции внутри одного рейса упорядочены в порядке возрастания времени. В течение одного рейса электричка все время движется в одном направлении — либо от города, либо к городу.
Выходные данные
В выходной файл выведите одно число — минимальное время, когда ребята смогут оказаться на своей станции. Если существующими рейсами электричек они добраться не смогут, выведите –1.
Есть идея хранить входные данные след. образом:
Выделить в памяти 2-х матрицы(Tab1 и Tab2 например) одинаковой размерности, где строки - рейсы, столбцы - номера станций. В каждой ячейке Tab1 будет время прибытия i-oй электрички(i - номер строки), на j - ую станцию, причём в Tab2[i][j] будет номер станции, на которой электричка электричка остан. в следующий раз.
Подскажите, как можно лучше организовать хранение данных. Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2012, 20:37     Задача на алгоритм Дейкстры (как лучше хранить информацию?)
Посмотрите здесь:

Алгоритм Дейкстры C++
C++ Алгоритм Дейкстры
Алгоритм Дейкстры С++ C++
C++ Алгоритм Дейкстры
Как лучше всего хранить коэффициенты? C++
Алгоритм Дейкстры C++
Алгоритм Дейкстры C++
Оконный менеджер. Как лучше хранить указатели на элементы менеджера? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
20.09.2012, 20:52     Задача на алгоритм Дейкстры (как лучше хранить информацию?) #2
Я лично решал это через алгоритм Форда-Беллмана и, соответственно, просто хранил список ребер.
Yandex
Объявления
20.09.2012, 20:52     Задача на алгоритм Дейкстры (как лучше хранить информацию?)
Ответ Создать тему
Опции темы

Текущее время: 01:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru