Pagini recente » Cod sursa (job #489079) | Cod sursa (job #2952852) | Cod sursa (job #2287754) | Rating Flueras Rares (BloodElf) | Cod sursa (job #2814748)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <random>
#include <chrono>
int m[101][101];
std::ifstream f("royfloyd.in");
std::ofstream g("royfloyd.out");
int n;
int main() {
f >> n;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j) {
f >> m[i][j];
}
std::vector<int> test;
for (int i = 1; i <= n; ++i)
test.push_back(i);
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::shuffle(test.begin(), test.end(), std::default_random_engine(seed));
for (int k : test)
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
if (m[i][k] + m[k][j] < m[i][j])
m[i][j] = m[i][k] + m[k][j];
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j)
g << m[i][j] << ' ';
g << '\n';
}
}