Pagini recente » Cod sursa (job #2391494) | Cod sursa (job #3205484) | Cod sursa (job #451625) | Cod sursa (job #562031)
Cod sursa(job #562031)
#include<stdio.h>
#define input "royfloyd.in"
#define output "royfloyd.out"
#define NMAX 101
int n;
int g[NMAX][NMAX];
void open()
{
freopen(input,"r",stdin);
freopen(output,"w",stdout);
}
void read()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
scanf("%d",&g[i][j]);
}
void royfloyd()
{
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(g[i][k]&&g[k][j]&&(g[i][k]+g[k][j]<g[i][j]||!g[i][j])&&i!=j)
g[i][j]=g[i][k]+g[k][j];
}
void a_fish()
{
for(int i=1;i<=n;i++,printf("\n"))
for(int j=1;j<=n;j++)
printf("%d ",g[i][j]);
}
int main()
{
open();
read();
royfloyd();
a_fish();
return 0;
}