Pagini recente » Cod sursa (job #2791681) | Cod sursa (job #2795542) | Cod sursa (job #2463252) | Cod sursa (job #1916825) | Cod sursa (job #875690)
Cod sursa(job #875690)
#include <stdio.h>
const int oo = (1<<30)-1;
int main ()
{
FILE *f=fopen("royfloyd.in", "rt"), *g=fopen("royfloyd.out", "wt");
int noduri, v[101][101];
int i,j,k;
fscanf(f, "%i ", &noduri);
for(i=1;i<=noduri;i++)
for(j=1;j<=noduri;j++)
{
int x;
fscanf(f, "%i", &x);
if(x==0)
v[i][j]=oo;
else
v[i][j]=x;
}
for(k=1;k<=noduri;k++)
for(i=1;i<=noduri;i++)
for(j=1;j<=noduri;j++)
if(v[i][k]!=oo && v[k][j]!=oo && v[i][k]+v[k][j] < v[i][j] && i!=j)
v[i][j]=v[i][k]+v[k][j];
for(i=1;i<=noduri;i++)
{
for(j=1;j<=noduri;j++)
fprintf(g, "%i ", v[i][j] != oo ? v[i][j] : 0);
fprintf(g, "\n");
}
return 0;
}