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

Кратчайший путь в графе(Рекурсия) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не работает условие http://www.cyberforum.ru/cpp-beginners/thread851700.html
myFile.h #pragma once #include <string> using namespace std; void read_txt (string path); read_txt.cpp #include "myFile.h"
C++ Если в четырехзначном числе введенному с клавиатуры, есть одинаковые цифры, то вывести 1, в противном случаe - любое другое число Нужно написать программу: "Если в четырехзначном числе введенному с клавиатуры, есть одинаковые цифры, то вывести 1, в противном случаe - любое другое число." http://www.cyberforum.ru/cpp-beginners/thread851699.html
Организовать класс треугольник определенный по 3-ем сторонам содержащий методы нахождения периметра и площади(По формуле герона) C++
Помогите написать прогу:wall: Организовать класс треугольник определенный по 3-ем сторонам содержащий методы нахождения периметра и площади(По формуле герона).
По данному времени определить, какие из поездов стоят сейчас на станции C++
Дан массив, в котором хранятся данные о расписании поездов: номер поезда, название (откуда-куда, например Астана-Алматы), время прибытия на станцию, время отправления (часы, минуты). Будем считать,...
C++ Автоматизация http://www.cyberforum.ru/cpp-beginners/thread851631.html
Здравствуйте, я работаю над мини игрой, у меня есть якобы карта , map; Есть машина, деньги и так далее. Как сделать так чтобы они выпадали сверху вниз как в тетрисе, без нажатия клавиш?
C++ Структура Структура. Помогите найти ошибку #include <iostream> #include <algorithm> #include <string.h> using namespace std; const int size = 3; подробнее

Показать сообщение отдельно
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
29.04.2013, 15:56
LEBRON32RUS, Классический алгоритм Флойда-Уоршелла пишется в 3-х циклах
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
int tmp,n,a[102][102],inf = 100000000;
 
void main(void){
    cin >> n;
    for (int i = 0; i< n; i++)
        for (int j = 0; j < n; j++){
            cin >> tmp;
            a[i][j] = (tmp == 0)? inf : tmp;
        }
    for (int k = 0; k < n; k++)
        for (int i = 0; i< n; i++)
            for (int j = 0; j < n; j++)
                a[i][j] = min(a[i][j], a[i][k] + a[k][j]);
    
    for (int i = 0; i< n; i++){
        for (int j = 0; j < n; j++)
            cout<<((a[i][j]<inf)? a[i][j] : 0)<<" ";
        cout<<endl;
    }
}
Этот алгоритм используется для нахождения всех кратчайших путей в графе (между любой парой вершин)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru