Pagini recente » Cod sursa (job #2803070) | Cod sursa (job #2683215) | Cod sursa (job #854854) | Cod sursa (job #2450065) | Cod sursa (job #875679)
Cod sursa(job #875679)
#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[100][100];
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(i=1;i<=noduri;i++)
for(j=1;j<=noduri;j++)
if(v[i][j]!=oo)
for(k=1;k<=noduri;k++)
if(v[j][k]!=oo && v[i][j]+v[j][k] < v[i][k] && i!=k)
v[i][k]=v[j][k]+v[i][j];
for(i=1;i<=noduri;i++)
{
for(j=1;j<=noduri;j++)
printf("%i %s", v[i][j] != oo ? v[i][j] : 0, v[i][j]>=10 ? "" : " ");
printf("\n");
}
}