Pagini recente » Cod sursa (job #1668228) | Cod sursa (job #670210) | Istoria paginii runda/aaaaa | Cod sursa (job #2685644) | Cod sursa (job #2198435)
#include <iostream>
#include <fstream>
using namespace std;
int n;
int m[1000][1000];
#define inf 100000
int main() {
ifstream f;
f.open("royfloyd.in");
ofstream o("royfloyd.out");
f >> n;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
f >> m[i][j];
if (m[i][j] == 0 && i != j) {
m[i][j] = inf;
}
}
}
// gata citirea
for (int k = 0; k < n; k++) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
m[i][j] = min(m[i][j], m[i][k] + m[k][j]);
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (m[i][j] == inf) {
m[i][j] = 0;
}
o << m[i][j] << " ";
}
o << endl;
}
return 0;
}