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

Алгоритм Дейкстры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти среднее арифметическое наибольшего и наименьшего значений элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread884977.html
Данная действительно матрица размером 6 х 9. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов.
C++ Найти среднее арифметическое наибольшего и наименьшего значений элементов матрицы Заполнить массив А с 6 строк и 9 столбцов по следующему правилу: Данная действительно матрица размером 6 х 9. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов. http://www.cyberforum.ru/cpp-beginners/thread884976.html
C++ Удаление элемента из дерева
Нужно написать код для удаления элемента из дерева, почему-то всегда возвращает NULL в функциях Right и Left, и следовательно newnode->x не существует, помогите разобраться в чем дело Node * Left(Node *MDer) { if (MDer == NULL) return NULL; if (MDer->l!=NULL) { return Left(MDer->l); } else return MDer; }
C++ Ход коня по шахматной доске случайным образом
Используйте генерацию случайного числа для предоставления коню возможности ходить по шахматной доске случайным образом (конечно, только допустимым Сам понимаю, что ужасно туплю сейчас, но все же я только учусь. Вопрос находится в заголовке. Суть проблемы: понимаю как сделать, но не могу реализовать в программу. #include <iostream> #include <iomanip> #include <ctime>
C++ Обработка записей (список учеников имеет следующую структуру: фамилия – номер школы – число баллов по ЕГЭ – оценка) http://www.cyberforum.ru/cpp-beginners/thread884939.html
Разработать и отладить программу обработки записей. Предусмотреть: - ввод данных - вывод результатов (на экран в виде таблицы и в файл) Задача: Список учеников имеет следующую структуру: фамилия – номер школы – число баллов по ЕГЭ (от 0 до 100) – оценка. При вводе числа баллов рассчитайте оценку (до 40 баллов – «2», 40-59 баллов – «3», 60-89 баллов – «4», 90-100 баллов – «5») и...
C++ Прямые на плоскости(С++) Доброго времени суток господа. Помогите пожалуйста написать эту задачку в С++. Сам с этой задачей пока не разбирался, времени нету, а задач много :cry: (сам пока другими разбираюсь :pardon:) Прямая на плоскости может быть задано уравнением ax+by+c=0, где a и b одновременно не равны нулю. Будем рассматривать прямые только с целыми коэффициентами a,b,c.Пусть даны коэффициенты нескольких прямых:... подробнее

Показать сообщение отдельно
CoRReS
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 61
30.05.2013, 15:14     Алгоритм Дейкстры
Всем добрый день,уважаемые программисты!
Помогите пожалуйста решить вот эту задачу алгоритмом дейкстры.
Вроде сам алгоритм правильно взял для задачи.
Заранее спасибо!

«Кратчайший путь с дополнительным временем преодоления перекрестка»

Условие
План города представляет собой множество перекрестков, соединенных дорогами. Каждая дорога задается номерами перекрестков, которые она соединяет, и временем движения по ней. Между двумя различными перекрёстками может быть не более одной дороги. Дорога может соединять только различные перекрёстки. Кроме того, время преодоления перекрестка i равно q*ki, где q - заданная константа, а ki - количество дорог, подходящих к перекрестку i.

Необходимо найти кратчайший по времени маршрут от перекрестка с номером s до перекрестка с номером f.

Замечание Конечный перекресток f преодолевать не надо, а стартовая вершина s маршрута преодолевается как перекресток.

Входные данные
Входные данные подготовлены в файле input.txt
· В первой строке находятся числа 1 ≤ N ≤ 11 000 и 0 ≤ M ≤ 100 000 - количество перекрестков и количество дорог на плане города соответственно.
· В каждой из следующих M строк файла сначала расположены номера пар перекрестков, которые связывает очередная дорога, а затем время движения по ней (0<=время<=1 000).
· В последней строке находятся номера перекрестков 1 ≤ s, f ≤N, а также константа 1 ≤ q ≤ 100.

Выходные данные
Выходные данные заносятся в файл output.txt, который содержит в первой строке сообщение Yes, если проехать можно, а во второй строке - минимальное время движения от перекрестка с номером s до перекрестка с номером f. Если проехать нельзя, то единственная строка выходного файла содержит сообщение No.

Пример 1
input.txt
6 9
1 2 2
1 3 1
2 4 1
2 5 1
3 4 3
3 5 1
4 5 2
4 6 1
5 6 1
1 6 1
output.txt
Yes
12

Пример 2
input.txt
3 1
1 2 1
1 3 1
output.txt
No

Добавлено через 1 час 7 минут
Очень очень для зачета надо нид хелп парни
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru