Pagini recente » Cod sursa (job #3029957) | Cod sursa (job #1426328) | Cod sursa (job #464083) | Cod sursa (job #2776189) | Cod sursa (job #1698459)
#include<bits/stdc++.h>
#define in f
#define out g
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
const int MAXN = 101;
const int INF = 10000000;
int n;
int d[MAXN][MAXN];
void read() {
in >> n;
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
in >> d[i][j];
if(d[i][j] == 0)
d[i][j] = INF;
}
}
}
void solve() {
for(int k = 1; k <= n; k++) {
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
if(d[i][k] + d[k][j] < d[i][j] && i != j)
d[i][j] = d[i][k] + d[k][j];
}
}
}
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
if(d[i][j] == INF) {
out << "0 ";
} else out << d[i][j] <<" ";
}
out << "\n";
}
}
int main() {
read();
solve();
return 0;
}