Pagini recente » Cod sursa (job #304209) | Cod sursa (job #539431) | Cod sursa (job #2826835) | Cod sursa (job #2184401) | Cod sursa (job #1103947)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("royfloyd.in");
ofstream g ("royfloyd.out");
int n;
int cost[101][101];
void citeste () {
/*f >> n >> m;
int a, b, c;
for (int i = 1; i <= m; i++) {
f >> a >> b >> c;
cost[a][b] = c;
cost[b][a] = c;
}*/
f>>n;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
f>>cost[i][j];
}
void rezolva () {
for (int k = 1; k <= n; k++)
for (int i = 1; i <= n; i++)
for (int j = 1; j<=n; j++) {
if (cost[i][k] && cost[k][j])
cost[i][j] = min (cost[i][j], cost[i][k] + cost[k][j]);
//cost[j][i] = cost[i][j];
}
}
void scrieMatrice () {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++)
g << cost[i][j] << ' ';
g << '\n';
}
}
int main () {
citeste ();
rezolva ();
scrieMatrice ();
return 0;
}