Pagini recente » Cod sursa (job #263519) | Cod sursa (job #233357) | Cod sursa (job #2375418) | Cod sursa (job #2223256) | Cod sursa (job #1589729)
#include <fstream>
#define NMax 110
#define INF 1000000000
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int nodes, dist[NMax][NMax];
int getMin(int a, int b)
{
if (a < b)
return a;
return b;
}
int main()
{
f >> nodes;
for (int i = 1; i <= nodes; i++)
for (int j = 1; j <= nodes; j++)
f >> dist[i][j];
for (int k = 1; k <= nodes; k++) {
for (int i = 1; i <= nodes; i++) {
for (int j = 1; j <= nodes; j++) {
if (i == j)
continue;
dist[i][j] = getMin(dist[i][j], dist[i][k] + dist[k][j]);
}
}
}
for (int i = 1; i <= nodes; i++) {
for (int j = 1; j <= nodes; j++)
g << dist[i][j] << " ";
g << "\n";
}
}