Pagini recente » Cod sursa (job #2967925) | Cod sursa (job #2486101) | Cod sursa (job #2597140) | Cod sursa (job #997560) | Cod sursa (job #2079704)
#include <fstream>
#define MaxN 101
#define Inf 1000000
using namespace std;
int N;
int M[MaxN][MaxN];
void Read()
{
ifstream f("royfloyd.in");
f>>N;
for (int i=0;i<N;i++)
{
for (int j=0;j<N;j++)
{
f>>M[i][j];
if (i!=j && M[i][j]==0)
M[i][j] = Inf;
}
}
}
void RoyFloyd()
{
for (int k=0;k<N;k++)
for (int i=0;i<N;i++)
for (int j=0;j<N;j++)
M[i][j] = min(M[i][j], M[i][k]+M[k][j]);
}
void Write()
{
ofstream g("royfloyd.out");
for (int i=0;i<N;i++)
{
for (int j=0;j<N;j++)
g<<M[i][j]<<' ';
g<<'\n';
}
}
int main()
{
Read();
RoyFloyd();
Write();
}