Pagini recente » Cod sursa (job #2086451) | Cod sursa (job #2178305) | Cod sursa (job #2792536) | Cod sursa (job #618959) | Cod sursa (job #1686138)
#include <stdio.h>
#include <algorithm>
using namespace std;
int n;
int t[110][110];
int main()
{
//freopen("1.in","r",stdin);
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
scanf("%d",&t[i][j]);
for (int k=1;k<=n;k++)
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
if (i!=j && t[i][k]!=0 && t[k][j]!=0) {
if (t[i][j]==0) t[i][j]=t[i][k]+t[k][j]; else
t[i][j]=min(t[i][j],t[i][k]+t[k][j]);
}
for (int i=1;i<=n;i++,printf("\n"))
for (int j=1;j<=n;j++)
printf("%d ",t[i][j]);
return 0;
}