Pagini recente » Cod sursa (job #1000017) | Cod sursa (job #403156) | Cod sursa (job #1866417) | Cod sursa (job #1827621) | Cod sursa (job #1507733)
#include <cstdio>
FILE *f = fopen("royfloyd.in", "r");
FILE *h = fopen("royfloyd.out", "w");
const int MAXVAL = 1000000000;
int n, m[101][101];
int main() {
fscanf(f, "%d", &n);
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= n; ++j) {
fscanf(f, "%d", &m[i][j]);
if(!m[i][j]) {
m[i][j] = MAXVAL;
}
}
}
for(int k = 1; k <= n; ++k) {
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= n; ++j) {
if(i != j) {
if(m[i][j] > m[i][k] + m[k][j]) {
m[i][j] = m[i][k] + m[k][j];
}
}
}
}
}
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= n; ++j) {
if(m[i][j] == MAXVAL) {
m[i][j] = 0;
}
fprintf(h, "%d ", m[i][j]);
}
fprintf(h, "\n");
}
return 0;
}