Pagini recente » Cod sursa (job #1790675) | Cod sursa (job #1743543) | Cod sursa (job #431448) | Cod sursa (job #180976) | Cod sursa (job #2270912)
#include <cstudio>
#define NMAX 103
using namespace std;
int N, d[NMAX][NMAX];
void read() {
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%d\n", &N);
for(int i = 1; i <= N; i++) {
for(int j = 1; j <= N; j++) {
scanf("%d", &d[i][j]);
}
}
}
void printSol() {
for(int i = 1; i <= N; i++) {
for(int j = 1; j <= N; j++) {
printf("%d", d[i][j]);
}
printf("\n");
}
}
void solve() {
for(int k = 1; k <= N; k++) {
for(int i = 1; i <= N; i++) {
if(d[i][k] == 0) {
continue;
}
for(int j = 1; j <= N; j++) {
if(i == j || d[k][j] == 0) {
continue;
}
if(d[i][k] = d[k][j] < d[i][j] || d[i][j] == 0) {
d[i][j] = d[i][k] + d[k][j];
}
}
}
}
}
int main() {
read();
solve();
printSol();
return 0;
}