Pagini recente » Cod sursa (job #2955105) | Cod sursa (job #2765208) | Cod sursa (job #1154541) | Cod sursa (job #1170497) | Cod sursa (job #1313249)
#include<stdio.h>
using namespace std;
#define FIN "royfloyd.in"
#define FOUT "royfloyd.out"
int g[102][102];
int n;
int read()
{
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%d", &n);
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
scanf("%d", &g[i][j]);
return 0;
}
int 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][j] > g[i][k] + g[k][j] || g[i][j] == 0)&& g[i][k] && g[k][j] && i!=j)
g[i][j] = g[i][k] + g[k][j];
return 0;
}
int write()
{
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
printf("%d ", g[i][j]) ;
printf("\n");
}
return 0;
}
int main()
{
read();
royFloyd();
write();
return 0;
}