Pagini recente » Cod sursa (job #2543987) | Cod sursa (job #981433) | Cod sursa (job #1413713) | Cod sursa (job #214306) | Cod sursa (job #1321409)
#include <fstream>
#include <vector>
std::ifstream in ("royfloyd.in");
std::ofstream out("royfloyd.out");
int n;
std::vector< std::vector<int> > x;
int main()
{
in >> n;
x.resize (n+1, std::vector<int>(n+1));
int i, j, k;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
in >> x[i][j];
for (k=1; k<=n; k++)
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
if (!x[i][k]) continue;
else if (!x[k][j]) continue;
else if (i == j) continue;
else if (!x[i][j] || x[i][j] > x[i][k]+x[k][j]) x[i][j] = x[i][k]+x[k][j];
for (i=1; i<=n; i++) {
for (j=1; j<=n; j++) out << x[i][j] << " ";
out << "\n";
}
}