Pagini recente » Cod sursa (job #1983799) | Cod sursa (job #563576) | Cod sursa (job #1187470) | Cod sursa (job #2058602) | Cod sursa (job #1361784)
#include <fstream>
using namespace std;
ifstream is ("royfloyd.in");
ofstream os ("royfloyd.out");
int N;
int A[101][101], Ax[101][101];
int main()
{
is >> N;
for (int i = 1; i <= N; ++i)
for (int j = 1; j <= N; ++j)
is >> A[i][j], Ax[i][j] = A[i][j];
for (int k = 1; k <= N; ++k)
for (int i = 1; i <= N; ++i)
for (int j = 1; j <= N; ++j)
if ((A[i][j] > A[i][k] + A[k][j] || A[i][j] == 0) && i != j && i != k && j != k && A[i][k] && A[k][j])
A[i][j] = A[i][k] + A[k][j];
for (int i = 1; i <= N; ++i)
for (int j = 1; j <= N; ++j)
for (int k = 1; k <= N; ++k)
if ((Ax[i][j] > Ax[i][k] + Ax[k][j] || Ax[i][j] == 0) && i != j && i != k && j != k && Ax[i][k] && Ax[k][j])
Ax[i][j] = Ax[i][k] + Ax[k][j];
/*for (int i = 1; i <= N; ++i, os << '\n')
for (int j = 1; j <= N; ++j)
os << A[i][j] << ' ';
os << '\n';*/
for (int i = 1; i <= N; ++i, os << '\n')
for (int j = 1; j <= N; ++j)
os << Ax[i][j] << ' ';
is.close();
os.close();
}