Pagini recente » Cod sursa (job #2395088) | Cod sursa (job #251896) | Cod sursa (job #517458) | Cod sursa (job #1972402) | Cod sursa (job #765799)
Cod sursa(job #765799)
#include<cstdio>
using namespace std;
#define IN "x.in"
#define OUT "x.out"
int n,m[100][100];
void floyd (void)
{
int t,i,j;
for (t=0;t<n;t++)
for(i=0;i<n;i++)
for (j=0;j<n;j++)
if(m[i][t]&&m[t][j]&&(m[i][j]>m[i][t]+m[t][j] || !m[i][j])&& i!=j)
m[i][j]=m[i][t]+m[t][j];
}
int main(void)
{
int i,j;
freopen(IN,"r",stdin);
freopen(OUT,"w",stdout);
scanf("%d",&n);
for (i=0;i<n;i++)
for (j=0;j<n;j++)
scanf("%d",&m[i][j]);
floyd();
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%d ",m[i][j]);
printf("\n");
}
return 0;
}