Pagini recente » Cod sursa (job #100310) | Cod sursa (job #1758328) | Cod sursa (job #1248939) | Cod sursa (job #3267284) | Cod sursa (job #1342761)
#define inf 1001
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int n,c[101][101],pred[101][101];
void citire()
{
f>>n;
for(int i=1; i<n; i++)
for(int j=i+1; j<=n; j++)
c[i][j]=c[j][i]=inf;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
int q;
f>>q;
if(q>0)
c[i][j]=q;
if(c[i][j]>0)
pred[i][j]=i;
}
}
}
void Roy_Floyd()
{
for(int k=1; k<=n; k++)
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
if(c[i][j]>c[i][k]+c[k][j])
{
c[i][j]=c[i][k]+c[k][j];
pred[i][j]=pred[k][j];
}
}
int main()
{
citire();
Roy_Floyd();
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
g<<c[i][j]<<' ';
g<<endl;
}
//afis_drum(1,2);
return 0;
}