Pagini recente » Istoria paginii runda/20_februarie_simulare_oji_2024_clasa_9 | Cod sursa (job #185700) | Cod sursa (job #907527) | Atasamentele paginii eusebiu_oji_2014_cls11-12 | Cod sursa (job #2079708)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
void floyd(int a[150][150],int n)
{
int y,i,j;
for(y=1;y<=n;y++)
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
{
if((a[i][j]>a[i][y]+a[y][j])&&(i!=y)&&(j!=y))
a[i][j]=a[i][y]+a[y][j];
else if(a[i][j]==0&&i!=j)
a[i][j]=a[i][y]+a[y][j];
}
for(i=1;i<=n;++i)
{
for(j=1;j<=n;++j)
fout<<a[i][j]<<' ';
fout<<"\n";
}
}
int main()
{
int n,a[150][150];
fin>>n;
int i,j;
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
fin>>a[i][j];
floyd(a,n);
return 0;
}