Pagini recente » Cod sursa (job #2381435) | Cod sursa (job #2904460) | Cod sursa (job #982973) | Cod sursa (job #958365) | Cod sursa (job #2443815)
#include <fstream>
#define NMAX 1005
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int c[101][101],i,j,n;
void Roy_Floyd()
{
for(int k = 1; k <= n; ++ k)
for(int i = 1; i <= n; ++ i)
for(int j = 1; j <= n; ++ j)
if(c[i][k] != NMAX && c[k][j] != NMAX && c[i][j] > c[i][k] + c[k][j] && i != j)
c[i][j] = c[i][k] + c[k][j];
}
int main()
{
f >> n;
for(i = 1; i <= n; ++ i)
for(j = 1; j <= n; ++ j)
{
f >> c[i][j];
if(c[i][j] == 0) c[i][j] = NMAX;
}
Roy_Floyd();
for(i = 1; i <= n; ++ i)
{
for(j = 1; j <= n; ++ j)
if(c[i][j] == NMAX) g << "0" << " ";
else g << c[i][j] << " ";
g << "\n";
}
return 0;
}