Pagini recente » Cod sursa (job #853030) | Cod sursa (job #446505) | Cod sursa (job #550232) | Cod sursa (job #2082047) | Cod sursa (job #1232022)
#include <fstream>
#define SIZE 100
using namespace std;
#define MIN(a, b) ((a) < (b) ? (a) : (b))
int main()
{
ifstream ifs("royfloyd.in");
ofstream ofs("royfloyd.out");
int n; ifs >> n;
int D[SIZE][SIZE];
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
ifs >> D[i][j];
for (int k = 0; k < n; ++k)
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
if (D[i][k] && D[k][j])
D[i][j] = (D[i][j] ? MIN(D[i][j], D[i][k] + D[k][j]) : D[i][j]);
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
ofs << D[i][j] << " ";
ofs << "\n";
}
return 0;
}