Pagini recente » Cod sursa (job #188673) | Cod sursa (job #1484095) | Cod sursa (job #616043) | Cod sursa (job #2885469) | Cod sursa (job #1342758)
#define inf 999999999
#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++)
{
f>>c[i][j];
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;
}