Pagini recente » Cod sursa (job #2109189) | Cod sursa (job #841837) | Cod sursa (job #2307235) | Cod sursa (job #1451625) | Cod sursa (job #2856695)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
const int NMAX = 100, INF = 100 * 100 * 1000 + 1;
int rf[NMAX][NMAX];
int main() {
int n;
fin >> n;
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
int cost;
fin >> cost;
rf[i][j] = cost;
if(cost == 0) rf[i][j] = INF;
}
}
for(int i = 0; i < n; i++) rf[i][i] = 0;
for(int k = 0; k < n; k++)
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
if(rf[i][k] != INF && rf[k][j] != INF)
rf[i][j] = min(rf[i][j], rf[i][k] + rf[k][j]);
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++)
fout << rf[i][j] << ' ';
fout << endl;
}
return 0;
}