Pagini recente » Cod sursa (job #53005) | Cod sursa (job #1307758) | Cod sursa (job #1119667) | Monitorul de evaluare | Cod sursa (job #1763839)
#include <iostream>
#include <fstream>
std::ifstream fin("royfloyd.in");
std::ofstream fout("royfloyd.out");
void RoyFloyd(int x[105][105], int n) {
for (int k = 0; k < n; k++)
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
if (x[i][k] && x[k][j] && (x[i][j] > x[i][k] + x[k][j] || !x[i][j]) && i != j)
x[i][j] = x[i][k] + x[k][j];
}
int main(int argc, char *argv[]) {
int n, v[105][105];
// Citire
fin >> n;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
fin >> v[i][j];
RoyFloyd(v, n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
fout << v[i][j] << " ";
}
fout << "\n";
}
return 0;
}