Pagini recente » Cod sursa (job #1781893) | Cod sursa (job #2830038) | Cod sursa (job #2738215) | Cod sursa (job #1209081) | Cod sursa (job #615134)
Cod sursa(job #615134)
#include <iostream>
#include <fstream>
#include <algorithm>
#define INPUT "royfloyd.in"
#define OUTPUT "royfloyd.out"
#define MAX 105
#define SUCCESS 0
using namespace std;
int main() {
int n, g[MAX][MAX];
ifstream in(INPUT, ifstream::in);
in >> n;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
in >> g[i][j];
in.close();
ofstream out(OUTPUT, ofstream::out);
for (int k = 0; k < n; k++)
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
if (i != j && g[i][k] && g[k][j] &&
(g[i][j] > g[i][k] + g[k][j] || !g[i][j]))
g[i][j] = g[i][k] + g[k][j];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
out << g[i][j] << " ";
out << "\n";
}
out.flush();
out.close();
return SUCCESS;
}