Pagini recente » Cod sursa (job #495176) | Cod sursa (job #1182354) | Cod sursa (job #1100884) | Cod sursa (job #2587684) | Cod sursa (job #2762932)
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 5 * 1e4 + 65;
const int INF = 1e8;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int matrix[101][102];
int main(){
int n; fin >> n;
for(int i = 1; i <= n; ++i){
for(int j = 1; j <= n; ++j){
fin >> matrix[i][j];
if(matrix[i][j] == 0 and i != j) matrix[i][j] = INF;
}
}
for(int k = 1; k <= n; ++k){
for(int i = 1; i <= n; ++i){
for(int j = 1; j <= n; ++j){
if(i == j || j == k || k == i) continue;
matrix[i][j] = min(matrix[i][j], matrix[i][k] + matrix[k][j]);
}
}
}
for(int i = 1; i <= n; ++i){
for(int j = 1; j <= n; ++j){
if(matrix[i][j] == INF ) matrix[i][j] = 0;
fout << matrix[i][j] << ' ';
}
fout << '\n';
}
return 0;
}