Pagini recente » Cod sursa (job #2221753) | Istoria paginii runda/summer_camp_4/clasament | Cod sursa (job #141091) | Istoria paginii runda/cerculdeinfo-lectia9-cuplaj_flux | Cod sursa (job #1291440)
#include <iostream>
#include <fstream>
#define nmax 105
#define inf (1<<30)
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int n;
int A[nmax][nmax];
int main(){
fin >> n;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++) {
fin >> A[i][j];
if (i != j && A[i][j] == 0)
A[i][j] = inf;
}
for (int k = 1; k <= n; k++)
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
A[i][j] = min(A[i][j], A[i][k]+A[k][j]);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (A[i][j] == inf)
fout << 0 << " ";
else
fout << A[i][j] << " ";
}
fout << "\n";
}
fin.close();
fout.close();
return 0;
}