Pagini recente » Cod sursa (job #1369786) | Cod sursa (job #378981) | Cod sursa (job #1145633) | Cod sursa (job #1640854) | Cod sursa (job #2035857)
#include <bits/stdc++.h>
using namespace std;
int matrix[105][105], N;
void Roy_Floyd(int matrix[105][105], int N)
{
for(int k = 1;k <= N; ++k)
for(int i = 1;i <= N; ++i)
for(int j = 1;j <= N; ++j)
if(matrix[i][k] && matrix[k][j] && (matrix[i][j] > matrix[i][k] + matrix[k][j]) && i != j)
matrix[i][j] = matrix[i][k] + matrix[k][j];
}
void afisare(int matrix[105][105], int N)
{
for(int i = 1;i <= N; ++i)
{
for(int j =1;j <= N; ++j)
cout << matrix[i][j] << " ";
cout << '\n';
}
}
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
cin >> N;
for(int i = 1;i <= N; ++i)
for(int j = 1;j <= N; ++j)
cin >> matrix[i][j];
Roy_Floyd(matrix,N);
afisare(matrix,N);
return 0;
}