Pagini recente » Cod sursa (job #1983026) | Cod sursa (job #2769990) | Cod sursa (job #1813253) | Cod sursa (job #1410384) | Cod sursa (job #2494269)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
#define nMax 101
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int Cost[nMax][nMax];
const int oo = 100000;
void RoyFloyd(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 (k != i && k != j && i != j) Cost[i][j] = min(Cost[i][j], Cost[i][k] + Cost[k][j]);
}
int main()
{
int N, i, j;
fin >> N;
for (i = 1; i <= N; i++)
for (j = 1; j <= N; j++) {
fin >> Cost[i][j];
if (Cost[i][j] == 0) Cost[i][j] = oo;
}
RoyFloyd(N);
for (i = 1; i <= N; i++) {
for (j = 1; j <= N; j++) {
if (Cost[i][j] == oo) Cost[i][j] = 0;
fout << Cost[i][j] << ' ';
}
fout << '\n';
}
}