Pagini recente » Cod sursa (job #69021) | Cod sursa (job #2564278) | Cod sursa (job #1215836) | Cod sursa (job #1905732) | Cod sursa (job #1742713)
#include <stdio.h>
int n;
int v[105][105];//, r[105][105];
int main()
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%d", &n);
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
{
scanf("%d", &v[i][j]);
//r[i][j]=1005; //>maximum value
}
for (int k = 0; k < n; k++)
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
if(v[i][k] && v[k][j])
if((v[i][k] + v[k][j] < v[i][j] || !v[i][j]) && i != j)
v[i][j] = v[i][k] + v[k][j];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
printf("%d ", v[i][j]);
//r[i][j]=1005; //>maximum value
}
printf("\n");
}
return 0;
}