Pagini recente » Cod sursa (job #1766435) | Cod sursa (job #135028) | Istoria paginii runda/iconcurs11 | Cod sursa (job #619998) | Cod sursa (job #1339095)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("royfloyd.in");
ofstream out ("royfloyd.out");
const int MAXN = 101;
short A[MAXN][MAXN];
int main()
{
int N, i, j, k;
in >> N;
for (i = 1; i <= N; i ++)
for (j = 1; j <= N; j ++)
in >> A[i][j];
for (k = 1; k <= N; k ++)
for (i = 1; i <= N; i ++)
for (j = 1; j <= N; j ++)
if (i != j && A[i][k] && A[k][j] && (A[i][k] + A[k][j] < A[i][j] || !A[i][j]) && i != k && j != k)
A[i][j] = A[i][k] + A[k][j];
for (i = 1; i <= N; i ++, out << "\n")
for (j = 1; j <= N; j ++)
out << A[i][j] << " ";
return 0;
}