Pagini recente » Cod sursa (job #1697212) | Cod sursa (job #488662) | Cod sursa (job #47873) | Cod sursa (job #2690682) | Cod sursa (job #609136)
Cod sursa(job #609136)
#include <iostream>
#include <stdio.h>
#define max 999999999
using namespace std;
int main()
{FILE *f,*g;
int cost[101][101],n,i,j,k;
f=fopen("royfloyd.in","r");
g=fopen("royfloyd.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
fscanf(f,"%d",&cost[i][j]);
if(cost[i][j]==0){ cost[i][j]=max; if(i==j)cost[i][j]=0; }
}
}
for(k=1;k<=n;k++)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(cost[i][k]!=max && cost[k][j]!=max)
if(cost[i][j]>cost[i][k]+cost[k][j])cost[i][j]=cost[i][k]+cost[k][j];
}
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(cost[i][j]==max) cost[i][j]=0;
fprintf(g,"%d ",cost[i][j]);
}
fprintf(g,"\n");
}
fclose(f);
fclose(g);
return 0;
}