Pagini recente » Cod sursa (job #1371071) | Rating Ungureanu Andreea Ruxandra (UngureanuRuxandra) | Cod sursa (job #1574354) | Cod sursa (job #2449714) | Cod sursa (job #2354145)
#include <cstdio>
#include <algorithm>
using namespace std;
const int NMAX=101;
const int INF=0x3f3f3f3f;
int a[NMAX][NMAX];
int n;
void royfloyd(){
for(int k=1;k<=n;++k)
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
if(i!=j)
a[i][j]=min(a[i][j],a[i][k]+a[k][j]);
}
int main(){
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scanf("%d",&n);
int x;
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j){
scanf("%d",&x);
if(x==0)
a[i][j]=INF;
else
a[i][j]=x;
}
royfloyd();
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j)
if(a[i][j]==INF)
printf("0 ");
else
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}