Pagini recente » Cod sursa (job #1463286) | Istoria paginii runda/rommmmm/clasament | Cod sursa (job #1898380) | Cod sursa (job #1758260) | Cod sursa (job #861399)
Cod sursa(job #861399)
#include<cstdio>
#include<algorithm>
using namespace std;
int n,x[100][100];
int main(){
freopen("royfloyd.in","rt",stdin);
freopen("royfloyd.out","wt",stdout);
scanf("%d",&n);
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
scanf("%d", &x[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&&i!=k&&j!=k&&x[i][k]!=0&&x[k][j]!=0)
if(x[i][j]==0)
x[i][j]=x[i][k]+x[k][j];
else
x[i][j]=min(x[i][j],x[i][k]+x[k][j]);
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j)
printf("%d ",x[i][j]);
printf("\n");
}
return 0;
}