Pagini recente » Cod sursa (job #1679129) | Cod sursa (job #2194498) | Cod sursa (job #1682770) | Cod sursa (job #1955843) | Cod sursa (job #1535768)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
const int Nmax = 111;
const int INF = 1000*1000*1000;
int A[Nmax][Nmax];
int main() {
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
int N;
fin >> N;
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++) {
fin >> A[i][j];
if (i != j && A[i][j] == 0)
A[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 (A[i][j] > A[i][k] + A[k][j])
A[i][j] = A[i][k] + A[k][j];
}
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
fout << (A[i][j] < INF ? A[i][j] : 0) << (j == N-1 ? '\n' : ' ');
return 0;
}