Pagini recente » Istoria paginii runda/oji200311/clasament | Cod sursa (job #692954) | Cod sursa (job #1540889) | Cod sursa (job #2702397) | Cod sursa (job #2551312)
#include<stdio.h>
int main(){
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
int n;
scanf("%d",&n);
int mat[n+1][n+1];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++) scanf("%d",&mat[i][j]);
for(int k=0;k<n;k++)
for(int i=0;i<n;i++)
for(int j=0;j<n;j++){
if(i!=j&&mat[i][k]&&mat[k][j]&&(mat[i][j]>mat[i][k]+mat[k][j]||mat[i][j]==0))
mat[i][j]=mat[i][k]+mat[k][j];
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++) printf("%d ",mat[i][j]);
printf("\n");
}
}