Pagini recente » Statistici Catalin Dohotaru (costelus18) | Diferente pentru flux-si-cuplaj intre reviziile 14 si 15 | Cod sursa (job #200822) | Cod sursa (job #2804792) | Cod sursa (job #2400972)
#include <fstream>
using namespace std;
ifstream f ("royfloyd.in.in");
ofstream g ("royfloyd.out");
int n,i,j,c[260][260],succ[260][260],x,y,k;
void roy_floyd ()
{
for(k=1; k<=n; k++)
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
if(c[i][j]>c[i][k]+c[k][j])
{
c[i][j]=c[i][k]+c[k][j];
succ[i][j]=succ[i][k];
}
}
void afis (int x, int y)
{
g<<x<<" ";
if(x!=y) afis(succ[x][y],y);
}
int main()
{
f>>n;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
{
f>>c[i][j]; succ[i][j]=c[i][j];
}
roy_floyd();
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
g<<c[i][j]<<" ";
g<<'\n';
}
return 0;
}