Pagini recente » Cod sursa (job #246114) | Cod sursa (job #1157364) | Cod sursa (job #187086) | Cod sursa (job #3136978) | Cod sursa (job #2324674)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fi("royfloyd.in");
ofstream fo("royfloyd.out");
int paths[105][105];
int N;
int main()
{
fi >> N;
for(int i = 1; i <= N; ++i)
for(int j = 1; j <= N; ++j)
{
fi >> paths[i][j];
if(paths[i][j] == 0 && i != j)
paths[i][j] = 10000;
}
for(int k = 1; k <= N; ++k)
for(int i = 1; i <= N; ++i)
for(int j = 1; j <= N; ++j)
if(paths[i][j] > paths[i][k] + paths[k][j])
paths[i][j] = paths[i][k] + paths[k][j];
for(int i = 1; i <= N; ++i)
{
for(int j = 1; j <= N; ++j)
if(paths[i][j] == 10000)
fo << 0 << " ";
else
fo << paths[i][j] << " ";
fo << "\n";
}
}