Pagini recente » Cod sursa (job #936896) | Cod sursa (job #1740198) | Cod sursa (job #2817636) | Cod sursa (job #1378621) | Cod sursa (job #1994148)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
unsigned int nrNoduri, nrMuchii;
vector < vector < int > > A;
void citire()
{
fin >> nrNoduri;
A.resize(nrNoduri);
for (int i = 0; i < nrNoduri; ++i)
{
A[i].resize(nrNoduri);
for (int j = 0; j < nrNoduri; ++j)
{
fin >> A[i][j];
if (A[i][j] == 0 && i != j)
{
A[i][j] = 999999;
}
}
}
}
int main()
{
citire();
for (int k = 0; k < nrNoduri; ++k)
{
for (int i = 0; i < nrNoduri; ++i)
{
for (int j = 0; j < nrNoduri; ++j)
{
if (A[i][j] > A[i][k] + A[k][j])
{
A[i][j] = A[i][k] + A[k][j];
}
}
}
}
for (int i = 0; i < nrNoduri; ++i)
{
for (int j = 0; j < nrNoduri; ++j)
{
fout << A[i][j] << " ";
}
fout << '\n';
}
}