Pagini recente » Cod sursa (job #1427983) | Cod sursa (job #1463873) | Cod sursa (job #1447456) | Cod sursa (job #1984918) | Cod sursa (job #1889720)
#include <iostream>
#include <cstdio>
#define N 105
#define inf 0x3f3f3f3f
using namespace std;
int n, mat[N][N];
int prelucrare()
{
int tmp;
for(int k = 1 ; k <= n ; ++k)
{
for(int i = 1 ; i <= n ; ++i)
{
for(int j = 1 ; j <= n ; ++j)
{
tmp = mat[i][k] + mat[k][j];
if(tmp < mat[i][j])
{
mat[i][j] = tmp;
}
}
}
}
}
void afisare()
{
for(int i = 1 ; i <= n ; ++i)
{
for(int j = 1 ; j <= n ; ++j)
{
if(mat[i][j] == inf)
{
printf("0 ");
}
else
{
printf("%d ",mat[i][j]);
}
}
printf("\n");
}
}
void citire()
{
scanf("%d\n",&n);
for(int i = 1 ; i <= n ; ++i)
{
for(int j = 1 ; j <= n ; ++j)
{
scanf("%d ",&mat[i][j]);
if(i == j)
{
continue;
}
if(!mat[i][j])
{
mat[i][j] = inf;
}
}
scanf("\n");
}
prelucrare();
afisare();
}
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
citire();
return 0;
}