Pagini recente » Cod sursa (job #3168892) | Cod sursa (job #1192736) | Monitorul de evaluare | Cod sursa (job #2427416) | Cod sursa (job #2824641)
#include <fstream>
#include <vector>
#include <limits>
int main() {
std::ifstream fin("royfloyd.in");
std::ofstream fout("royfloyd.out");
int n;
fin >> n;
std::vector<std::vector<uint16_t>> dist(n, std::vector<uint16_t>(n, std::numeric_limits<uint16_t>::max()));
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
fin >> dist[i][j];
for (int k = 0; k < n; k++)
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
dist[i][j] = std::min<uint16_t>(dist[i][j], dist[i][k] + dist[k][j]);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
fout << dist[i][j] << " ";
fout << std::endl;
}
}