Pagini recente » Cod sursa (job #2248954) | Cod sursa (job #466952) | Cod sursa (job #1201127) | Cod sursa (job #2594146) | Cod sursa (job #870786)
Cod sursa(job #870786)
# include<stdio.h>
//Constante
int const infinity = (int)1e5 + 1;
//Variabile
FILE *in,*out;
int nodes;
int a[101][101];
int main(void)
{
in=fopen("royfloyd.in","rt"); //<--mda....
out=fopen("royfloyd.out","wt");
fscanf(in,"%d",&nodes);
for(int i=1;i<=nodes;i++)
for(int j=1;j<=nodes;j++)
{
fscanf(in,"%d",&a[i][j]);
if(!a[i][j] && i!=j)
a[i][j]=infinity;
}
for(int k=1;k<=nodes;k++)
for(int i=1;i<=nodes;i++)
for(int j=1;j<=nodes;j++)
if(a[i][k] + a[k][j] < a[i][j] && i!=j)
a[i][j]=a[i][k]+a[k][j];
for(int i=1;i<=nodes;i++)
{
for(int j=1;j<=nodes;j++)
fprintf(out,"%d ",(a[i][j] == infinity)? 0: a[i][j]);
fprintf(out,"\n");
}
fclose(in);
fclose(out);
return 0;
}