Pagini recente » Cod sursa (job #1158535) | Cod sursa (job #1163616) | Cod sursa (job #236620) | Cod sursa (job #95365) | Cod sursa (job #2198015)
#include <iostream>
#include <fstream>
#define dimn 105
std::ifstream f("royfloyd.in");
std::ofstream g("royfloyd.out");
int N;
int cost[dimn][dimn];
void royfloyd() {
for (int i, j, k=1; k<=N; k++)
for (i=1; i<=N; i++)
for (j=1; j<=N; j++)
if (cost[i][k] && cost[k][j] && (cost[i][j] > cost[i][k] + cost[k][j] || !cost[i][j]) && i!=j)
cost[i][j] = cost[i][k] + cost[k][j];
}
void citire() {
f >> N;
for (int i=1, j; i<=N; i++)
for (j=1; j<=N; j++)
f >> cost[i][j];
}
void rezolvare() {
royfloyd();
for (int i=1, j; i<=N; i++) {
for (j=1; j<=N; j++)
g << cost[i][j] << " " ;
g << "\n";
}
}
int main()
{
citire();
rezolvare();
return 0;
}