Pagini recente » Istoria paginii runda/pregatireoli10_1 | Istoria paginii runda/polialgoritmiada | Istoria paginii runda/cel_mai_mare_olimpicar_2019_moisil_2017 | Istoria paginii utilizator/bilygates2005 | Cod sursa (job #2116792)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
#define lim 110
#define inf 2e9
int n;
int ini[lim][lim];
int main()
{
fin>>n;
for (int i=1; i<=n; i++)
for (int j=1; j<=n; j++) fin>>ini[i][j];
for (int k=1; k<=n; k++)
for (int i=1; i<=n; i++)
for (int j=1; j<=n; j++)
if (i!=j && ini[i][k] && ini[k][j] && (ini[i][j] > ini[i][k] + ini[k][j] || !ini[i][j]))
ini[i][j] = ini[i][k] + ini[k][j];
for (int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
fout<<ini[i][j]<<' ';
fout<<'\n';
}
return 0;
}