Pagini recente » Cod sursa (job #2690112) | Cod sursa (job #2736990) | Cod sursa (job #2129014) | Cod sursa (job #1881104) | Cod sursa (job #664678)
Cod sursa(job #664678)
#include<fstream>
#include<iostream>
using namespace std;
#define filein "royfloyd.in"
#define fileout "royfloyd.out"
#define NMAX 100
#define MIN(a,b) ((a>b) ? b : a)
#define MMAX(a,b) ((a<b) ? b : a)
int M[NMAX][NMAX], N;
int main(void)
{
ifstream fin(filein);
fin>>N;
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
fin>>M[i][j];
fin.close();
for(int k = 0; k < N; k++)
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
if(i != j)
if(M[i][j]) M[i][j] = MIN(M[i][j], M[i][k] + M[k][j]);
else M[i][j] = M[i][k] + M[k][j];
ofstream out(fileout);
for(int i = 0; i < N; i++){
for(int j = 0; j < N; j++)
out<<M[i][j]<<" ";
out<<endl;
}
out.close();
return 0;
}