Pagini recente » Cod sursa (job #654740) | Cod sursa (job #1181831) | Cod sursa (job #1964664) | Cod sursa (job #1783976) | Cod sursa (job #165631)
Cod sursa(job #165631)
#include <stdio.h>
#define N 150
#define INFI 0x3f3f3f3f
int n;
int v[N][N];
void scan(){
int i,j;
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scanf("%d",&n);
for (i=0;i<n;++i)
for (j=0;j<n;++j)
scanf("%d",&v[i][j]);
}
void init(){
int i,j;
for (i=0;i<n;++i)
for (j=0;j<n;++j)
if (i!=j && v[i][j]==0)
v[i][j]=INFI;
}
void solve(){
int i,j,k;
for (k=0;k<n;++k)
for (i=0;i<n;++i)
for (j=0;j<n;++j)
if (v[i][j]>v[k][j]+v[i][k])
v[i][j]=v[k][j]+v[i][k];
}
void print(){
int i,j;
for (i=0;i<n;++i){
for (j=0;j<n;++j)
printf("%d ",v[i][j]);
printf("\n");
}
}
void std_close(){
fclose(stdin);
fclose(stdout);
}
int main(){
scan();
solve();
print();
std_close();
return 0;
}