Pagini recente » Cod sursa (job #2023934) | Cod sursa (job #2449036) | Cod sursa (job #990330) | Cod sursa (job #1707461) | Cod sursa (job #2422158)
#include <iostream>
#include <vector>
#include<fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
const int N = 101;
int n;
int D[N][N];
void citire()
{
f >> n;
for(int i=1;i<=n;i++)
for (int j = 1; j <= n; j++)
{
int y;
f >> y;
D[i][j] = y;
}
}
int main()
{
citire();
for (int k = 1; k <= n; k++)
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
if (D[i][j] == 0 && i != j)
{
if (D[i][k] != 0 && D[k][j] != 0)
D[i][j] = D[i][k] + D[k][j];
}
else if (D[i][j] > D[i][k] + D[k][j] && D[i][k] != 0 && D[k][j] != 0)
D[i][j] = D[i][k] + D[k][j];
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
g << D[i][j] << " ";
g << endl;
}
return 0;
}