Pagini recente » Cod sursa (job #2131207) | Cod sursa (job #1800034) | Cod sursa (job #414255) | Cod sursa (job #1459283) | Cod sursa (job #2424359)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
int N;
int G[105][105];
void Roy()
{
int i, j, k;
for (int k = 1; k <= N; k++)
{
for (i = 1; i <= N; i++)
for (j = 1; j <= N; j++)
if (G[i][j] > G[i][k] + G[k][j] || G[i][j] == 0)
if (i != j && G[i][k] != 0 && G[k][j] != 0)
G[i][j] = G[i][k] + G[k][j];
}
}
int main()
{
fin >> N;
for (int i = 1; i <= N; i++)
for (int j = 1; j <= N; j++)
fin >> G[i][j];
Roy();
for (int i = 1; i <= N; i++)
{
for (int j = 1; j <= N; j++)
{
fout << G[i][j] << " ";
}
fout << "\n";
}
return 0;
}