Pagini recente » Cod sursa (job #2216868) | Cod sursa (job #2284051) | Cod sursa (job #878110) | Cod sursa (job #3191921) | Cod sursa (job #951079)
Cod sursa(job #951079)
#include <fstream>
using namespace std;
#define in "royfloyd.in"
#define out "royfloyd.out"
#define N 105
#define oo 1 << 29
int a[N][N], n;
int main () {
ifstream fin (in);
fin >> n;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
fin >> a[i][j];
fin.close();
for (int k = 1; k <= n; ++k)
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
if (i != j && a[i][k] && a[k][j] && (a[i][j] > a[i][k] + a[k][j] || !a[i][j]))
a[i][j] = a[i][k] + a[k][j];
ofstream fout (out);
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j)
fout << a[i][j] << " ";
fout << "\n";
}
fout.close();
return 0;
}