Pagini recente » Poze preONI 2007 - evaluare | Cod sursa (job #1482176) | Cod sursa (job #2251098) | Cod sursa (job #2061038) | Cod sursa (job #462184)
Cod sursa(job #462184)
#include <cstdio>
int mat[105][105],n;
void floyd_warshall() {
int i,j,k;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
for(k=1; k<=n; k++)
if (mat[j][i] &&
mat[i][k] &&
(mat[j][k] > mat[j][i] + mat[i][k] ||
!mat[j][k])
&& j!= k)
mat[j][k] = mat[j][i] + mat[i][k];//din if
}
int main() {
int i,j;
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scanf("%d",&n);
for(i=1; i<=n; i++) for(j=1; j<=n; j++) scanf("%d",&mat[i][j]);
floyd_warshall();
for(i=1; i<=n; i++) {
for(j=1; j<=n; j++) printf("%d ",mat[i][j]);
printf("\n");
}
return 0;
}