Pagini recente » Cod sursa (job #297845) | Cod sursa (job #2233838)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
void roy_floyd(int N, int **mat) {
for (int k = 1; k <= N; k++)
for (int i = 1; i <= N; i++)
for (int j = 1; j <= N; j++)
if ((mat[i][j] > mat[i][k] + mat[k][j] || mat[i][j]==0) && mat[i][k] && mat[k][j] && i!=j)
mat[i][j] = mat[i][k] + mat[k][j];
for (int i = 1; i <= N; i++)
{
for (int j = 1; j <= N; j++)
g << mat[i][j] << " ";
g << endl;
}
}
int main()
{
int N; f >> N;
int **mat = new int*[N+1];
for (int i = 1; i <= N; i++) {
mat[i] = new int[N+1];
}
for (int i = 1; i <= N; i++)
for (int j = 1; j <= N; j++)
f >> mat[i][j];
roy_floyd(N, mat);
return 0;
}