Pagini recente » Cod sursa (job #1324392) | Cod sursa (job #2923790) | Cod sursa (job #2570025) | Cod sursa (job #2677102) | Cod sursa (job #414899)
Cod sursa(job #414899)
#include<stdio.h>
#include<algorithm>
using namespace std;
int n;
int mat[105][105];
void read();
void royfloyd();
void write();
int main() {
read();
royfloyd();
write();
return 0;
}
void read() {
freopen("royfloyd.in","r",stdin);
scanf("%d",&n);
for (int i=0;i<n;++i)
for (int j=0;j<n;++j)
scanf("%d",&mat[i][j]);
}
void royfloyd() {
int i,j,k;
for (k=0;k<n;++k)
for (i=0;i<n;++i)
for (j=0;j<n;++j)
if (i!=j && mat[i][k]!=0 && mat[k][j]!=0 && (mat[i][k]+mat[k][j]<mat[i][j] || mat[i][j]==0))
mat[i][j]=mat[i][k]+mat[k][j];
}
void write() {
freopen("royfloyd.out","w",stdout);
for (int i=0;i<n;++i) {
for (int j=0;j<n;++j)
printf("%d ",mat[i][j]);
printf("\n");
}
}