Pagini recente » Cod sursa (job #1031778) | Cod sursa (job #3182132) | Cod sursa (job #577809) | Cod sursa (job #1631430) | Cod sursa (job #2158156)
#include <iostream>
#include <cstdio>
using namespace std;
const int NMAX = 101;
int d[NMAX][NMAX];
int min(int x, int y){
if(x<y)
return x;
return y;
}
int main()
{
FILE *fin, *fout;
int n,i,j,k;
fin=fopen("royfloyd.in","r");
fout=fopen("royfloyd.out","w");
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
fscanf(fin,"%d",&d[i][j]);
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
fprintf(fout,"%d ",d[i][j]);
fprintf(fout,"\n");
}
fclose(fin);
fclose(fout);
return 0;
}