Pagini recente » Cod sursa (job #1033799) | Istoria paginii algoritmiada-2019/runda-maraton/solutii/niciomare | Cod sursa (job #68397) | Cod sursa (job #2254614) | Cod sursa (job #442847)
Cod sursa(job #442847)
#include <cstdio>
using namespace std;
FILE* fin=fopen("royfloyd.in","r");
FILE* fout=fopen("royfloyd.out","w");
#define MAX 55
#define min(a,b) (((a)<(b))?(a):(b))
int a[MAX][MAX];
int main(){
int n;
fscanf(fin,"%d\n",&n);
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
fscanf(fin,"%d ",&a[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){
a[i][j]=min(a[i][j],a[i][k]+a[k][j]);
}else{
a[i][j]=0;
}
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
fprintf(fout,"%d ",a[i][j]);
}
fputc('\n',fout);
}
fclose(fin);
fclose(fout);
return 0;
}