|
1 / 1 / 0
Регистрация: 11.10.2013
Сообщений: 63
|
|
Задача с использованием алгоритма Дейкстры17.10.2013, 17:24. Показов 3404. Ответов 5
Метки нет (Все метки)
Ребят,кто-нибудь помогите решить задачку, используя алгоритм Дейкстры.Он есть готовый,осталось с помощью него только решить.
Задача об автобусном сообщении по краю Имя входного файла input.txt Имя выходного файла output.txt Между городами края имеется автобусное сообщение. Поскольку пассажиропотоки здесь не очень большие, то автобусы ходят всего несколько раз в день. Во входном файле записано число N - общее число городов (1 <= N <= 100). номера деревень i и j, затем количество автобусных рейсов R (0 <= R <= 10000). Затем идут описания автобусных рейсов. Каждый рейс задается номером города отправления i, , города назначения j, временем в пути до этого города (целое от 1 до 10000). a) Найти минимальное время, которое потребуется пассажиру чтобы добраться из города I в город j. Если он не сможет с помощью указанных автобусных рейсов добраться из i в j, вывести -1. Б) Выдать названия городов, до которых пассажир может добраться за время t. Пример input.txt output.txt 3 1 2 3 1 3 2 2 3 2 2 4 4 3 4 4 I=1 j=4 6 1-3-4 Из 1 за 4 в 2 и 3
0
|
|
| 17.10.2013, 17:24 | |
|
Ответы с готовыми решениями:
5
Задача с использованием Алгоритма линейной структуры Жадные алгоритмы. Задача с использованием одномерного алгоритма Реализация алгоритма Дейкстры |
|
_
317 / 151 / 27
Регистрация: 08.10.2011
Сообщений: 432
|
|
| 17.10.2013, 18:04 | |
|
интересно было бы поглядеть что делает ваш готовый алгоритм Дейкстры. И вот почему.
Для решения вашей задачи нужно чтобы он заполнил массив, представляющий дерево кратчайших путей исходного графа (path), а также массив, содержащий время в пути до каждого города из исходого города i (dist). Итак, алгоритм: 0. нужны матрица смежности для хранения карты дорог, 2 массива для хранения инфо о кратчайших путях в графе (как описано выше) 1. читаем input и заполняем матрицу смежности 2. применяем алгоритм Дейкстры, который заполнит те 2 массива 3. ответ для пункта а): время в пути - dist[ j ], сам путь восстанавливаем из массива path (правда он получится в обратном порядке, следовательно после восстановления его надо перевернуть) 4. ответ для пункта б): пробегаемся циклом по массиву dist и выводим те индексы массива, для которых dist равен искомому времени это поможет?
1
|
|
|
1 / 1 / 0
Регистрация: 11.10.2013
Сообщений: 63
|
|
| 17.10.2013, 18:25 [ТС] | |
|
Спасибо конечно!Нооо...я вообще плохо разбираюсь в этом
Не могли б вы помочь и с кодом?
0
|
|
|
_
317 / 151 / 27
Регистрация: 08.10.2011
Сообщений: 432
|
||||||
| 18.10.2013, 06:28 | ||||||
|
разбирайтесь
Добавлено через 10 часов 29 минут Ох, оказывается программа неверно работает для некоторых графов. Ошибочка вышла. Давайте поступим так: вы предоставите граф, для которого программа неверно работает, а я скажу что исправить
1
|
||||||
|
1 / 1 / 0
Регистрация: 11.10.2013
Сообщений: 63
|
|
| 18.10.2013, 15:48 [ТС] | |
|
Спасибо!В входном файле даны- номер пункта отправления, номер пункта назначения и 3 число - время в пути в часах.Вот что.то есть мне нужно перебрать графы и найти тот,при котором не работает программа,так я поняла?
0
|
|
|
_
317 / 151 / 27
Регистрация: 08.10.2011
Сообщений: 432
|
||||
| 18.10.2013, 16:27 | ||||
|
0
|
||||
| 18.10.2013, 16:27 | |
|
Помогаю со студенческими работами здесь
6
Параллельная реализация алгоритма Дейкстры
Выкладываю реализацию алгоритма Дейкстры на С++ Визуализация алгоритма Дейкстры
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|