Pagini recente » Cod sursa (job #1946469) | Cod sursa (job #1501249) | Cod sursa (job #2904166) | Cod sursa (job #430832) | Cod sursa (job #704417)
Cod sursa(job #704417)
#include <stdio.h>
int n, grf[101][101];
void read() {
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",&grf[i][j]);
}
void write() {
int i,j;
for (i=1;i<=n;i++) {
for (j=1;j<=n;j++) {
printf("%d ",grf[i][j]);
}
printf("\n");
}
}
int main () {
int k,i,j;
read();
for (k=1;k<=n;k++) {
for (i=1;i<=n;i++) {
for (j=1;j<=n;j++) {
if (i!=j && grf[i][k] && grf[k][j] && (!grf[i][j] || grf[i][k] + grf[k][j] < grf[i][j])) {
grf[i][j] = grf[i][k] + grf[k][j];
}
}
}
}
write();
return 0;
}