Pagini recente » Cod sursa (job #543937) | Cod sursa (job #696866) | Cod sursa (job #2415866) | Cod sursa (job #1841440) | Cod sursa (job #2227607)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int a[100][100] = { 0 };
int cmmdc(int a, int b)
{
while (b)
{
int aux = b;
b = a % b;
a = aux;
}
return a;
}
int main()
{
int n;
in >> n;
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
{
in >> a[i][j];
}
for (int k = 0; k < n; ++k)
for (int j = 0; j < n; ++j)
for (int i = 0; i < n; ++i)
{
if (i == j || j == k || i == k)
continue;
int ik = a[i][k];
int kj = a[k][j];
int ij = a[i][j];
int dist = ik + kj;
if (ik && kj && (dist < ij || !ij ))
{
a[i][j] = dist;
}
}
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
{
out << a[i][j] << " ";
}
out << "\n";
}
return 0;
}