Pagini recente » Cod sursa (job #2103110) | Cod sursa (job #706408) | Cod sursa (job #1270911) | Cod sursa (job #2522710) | Cod sursa (job #1253810)
#include <fstream>
#include <iostream>
using namespace std;
const int Nmax = 130;
const int INF = 0x3f3f3f3f;
int d[Nmax][Nmax];
int main() {
ifstream f ("royfloyd.in");
ofstream g ("royfloyd.out");
int N;
f >> N;
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
{
f >> d[i][j];
if (d[i][j] == 0 && (i != j))
d[i][j] = INF;
}
for (int k = 0; k < N; k++)
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
{
if (d[i][j] > d[i][k] + d[k][j])
d[i][j] = d[i][k] + d[k][j];
}
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
if (d[i][j] == INF)
d[i][j] = 0;
g << d[i][j] << ' ';
}
g << '\n';
}
return 0;
}