Pagini recente » Cod sursa (job #2039017) | Cod sursa (job #993702) | Cod sursa (job #3268663) | Cod sursa (job #2703127) | Cod sursa (job #1705552)
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <climits>
#define NMax 101
using namespace std;
int cost[NMax][NMax];
void Floyd_Warshal(int n) {
int k, i , j;
for (k = 1; k <= n; k++)
for (i = 1; i <= n; i++)
for ( j = 1 ; j <= n ; j++)
{
if (cost[i][j] > cost[i][k] + cost[k][j])
{
cost[i][j] = cost[i][k] + cost[k][j];
}
}
}
int main()
{
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int n, m, c;
int u, v, i, j;
f >> n ;
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
{
f >> cost[i][j];
if (i != j && cost[i][j] == 0)
cost[i][j] = INT_MAX / 5;
}
Floyd_Warshal(n);
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
if (cost[i][j] < INT_MAX / 5)
g << cost[i][j] << " ";
else
g << "0 ";
g << "\n";
}
}