Pagini recente » Cod sursa (job #2909149) | Cod sursa (job #1264070) | Cod sursa (job #2231682)
#include <fstream>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
#define INF 1e9
int main() {
int matriceDrum[100][100];
int N;
fin >> N;
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
fin >> matriceDrum[i][j];
if (matriceDrum[i][j] == 0) {
matriceDrum[i][j] = (int)INF;
}
if (i == j) {
matriceDrum[i][j] = 0;
}
}
}
for (int k = 0; k < N; ++k) {
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
if (matriceDrum[i][k] + matriceDrum[k][j] < matriceDrum[i][j]) {
matriceDrum[i][j] = matriceDrum[i][k] + matriceDrum[k][j];
}
}
}
}
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
if (matriceDrum[i][j] == (int)INF) {
fout << 0 << ' ';
}
else {
fout << matriceDrum[i][j] << ' ';
}
}
fout << '\n';
}
}