Pagini recente » Cod sursa (job #1598371) | Cod sursa (job #1094287) | Cod sursa (job #99061) | Cod sursa (job #2274086) | Cod sursa (job #425916)
Cod sursa(job #425916)
#include <cstdio>
int n;
int mat[101][101],roy[101][101];
int min (int a,int b)
{
if (a<b)
return a;
return b;
}
void citire()
{
scanf("%d",&n);
for (int i=1;i<=n;++i)
for (int j=1;j<=n;++j)
{
scanf("%d",&mat[i][j]);
if (i==j)
{
roy[i][j]=0;
continue;
}
if (mat[i][j]==0)
roy[i][j]=1<<30;
else
roy[i][j]=mat[i][j];
}
}
void scrie()
{
for (int i=1;i<=n;++i)
{
for (int j=1;j<=n;++j)
printf("%d ",roy[i][j]);
printf("\n");
}
}
int main()
{
freopen ("royfloyd.in","r",stdin);
freopen ("royfloyd.out","w",stdout);
citire();
for (int k=1;k<=n;++k)
for (int i=1;i<=n;++i)
for (int j=1;j<=n;++j)
roy[i][j]=min(roy[i][j],roy[i][k]+roy[k][j]);
scrie();
return 0;
}