Pagini recente » Cod sursa (job #250894) | Cod sursa (job #481481) | Cod sursa (job #526606) | Cod sursa (job #965435) | Cod sursa (job #862615)
Cod sursa(job #862615)
#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;
}