Pagini recente » Cod sursa (job #913350) | Cod sursa (job #2706339) | Cod sursa (job #523873) | Cod sursa (job #1892982) | Cod sursa (job #554422)
Cod sursa(job #554422)
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
#define maxn 128
int N;
int A[maxn][maxn];
int main() {
FILE *f1=fopen("royfloyd.in", "r"), *f2=fopen("royfloyd.out", "w");
int i, j, k;
fscanf(f1, "%d\n", &N);
for(i=1; i<=N; i++) {
for(j=1; j<=N; j++) {
fscanf(f1, "%d", &A[i][j]);
}
}
for(k=1; k<=N; k++) {
for(i=1; i<=N; i++) {
for(j=1; j<=N; j++) {
if(i != j && A[i][k] && A[k][j] && (A[i][j] > A[i][k] + A[k][j] || !A[i][j])) {
A[i][j] = A[i][k] + A[k][j];
}
}
}
}
for(i=1; i<=N; i++) {
for(j=1; j<=N; j++) {
fprintf(f2, "%d ", A[i][j]);
} fprintf(f2, "\n");
}
fclose(f1); fclose(f2);
return 0;
}