Pagini recente » Cod sursa (job #605850) | Cod sursa (job #1371290) | Cod sursa (job #1266633) | Cod sursa (job #373886) | Cod sursa (job #1310784)
#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 i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
if(g[i][j] > g[i][k] + g[k][j] && g[i][j] != 0 && 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;
}