Pagini recente » Cod sursa (job #810268) | Cod sursa (job #2510388) | Cod sursa (job #2905152) | Cod sursa (job #283448) | Cod sursa (job #2162009)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
const int MaxN = 105;
int N, G[MaxN][MaxN];
int main()
{
fin >> N;
for (int i = 1; i<= N; ++i)
for (int j = 1; j <= N; ++j)
fin >> G[i][j];
for (int k = 1; k <= N; ++k)
for (int i = 1; i <= N; ++i)
for (int j = 1; j <= N; ++j)
if (G[i][k] && G[k][j] && i != j && (G[i][j] > G[i][k] + G[k][j] || !G[i][j]))
G[i][j] = G[i][k] + G[k][j];
for (int i = 1; i <= N; ++i)
{
for (int j = 1; j <= N; ++j)
fout << G[i][j] << " ";
fout << '\n';
}
return 0;
}