Pagini recente » Cod sursa (job #2140304) | Cod sursa (job #1061132) | Cod sursa (job #136201) | Cod sursa (job #1548001) | Cod sursa (job #1355788)
#include <cstdio>
#include <cmath>
#include <algorithm>
#define NMAX 1000
#define INF 1001
using namespace std;
typedef unsigned long long ull;
ull d[NMAX][NMAX], mat[NMAX][NMAX];
int N;
void royfloyd() {
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
d[i][j] = mat[i][j];
}
}
for (int k = 0; k < N; ++k) {
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
}
}
}
}
int main(void) {
FILE * iff = fopen("royfloyd.in","r");
FILE * off = fopen("royfloyd.out","w");
fscanf(iff,"%d",&N);
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
fscanf(iff,"%llu",&mat[i][j]);
}
}
royfloyd();
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
fprintf(off,"%llu ",d[i][j]);
}
fprintf(off,"\n");
}
return 0;
}