Pagini recente » Cod sursa (job #3124798) | Cod sursa (job #2674533) | Cod sursa (job #2856912) | Statistici Johnny Alex (johnny1234) | Cod sursa (job #2513664)
#include <cstdio>
#include <algorithm>
using namespace std;
const int NMAX = 105;
const int INF = 2e9;
int a[NMAX][NMAX]; //mat adiacenta
int d[NMAX][NMAX]; //mat distante
int main(){
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
int n;
scanf("%d",&n);
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j){
scanf("%d",&a[i][j]);
d[i][j]=a[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 && a[i][k]!=0 && a[k][j]!=0)
d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
}
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j)
printf("%d ",d[i][j]);
printf("\n");
}
return 0;
}