Pagini recente » Cod sursa (job #2274438) | Cod sursa (job #1986786) | Cod sursa (job #1763198) | Cod sursa (job #2435467) | Cod sursa (job #3245372)
#include <fstream>
#include <vector>
int main()
{
std::ifstream in("royfloyd.in");
int n; in >> n;
std::vector d(n, std::vector(n, 0));
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
in >> d[i][j];
in.close();
for(int k = 0; k < n; k++)
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
if(d[i][k] != 0 && d[k][j] != 0 && (d[i][j] == 0 || d[i][j] > d[i][k] + d[k][j]) && i != j)
d[i][j] = d[i][k] + d[k][j];
std::ofstream out("royfloyd.out");
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
out << d[i][j] << " ";
out << "\n";
}
out.close();
return 0;
}