Pagini recente » Cod sursa (job #1248822) | Cod sursa (job #2769433)
#include <bits/stdc++.h>
using namespace std;
/*********************************************/
/// INPUT / OUTPUT
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
/*********************************************/
/// GLOBAL DECLARATIONS
int N, M;
/*********************************************/
/// FUNCTIONS
void Floyd();
void Dijkstra();
void Bellman();
/*********************************************/
///-------------------------------------------------------
inline void Floyd()
{
f >> N;
int mat[N + 5][N + 5];
for (int i = 1 ; i <= N ; ++ i)
for (int j = 1 ; j <= N ; ++ j)
f >> mat[i][j];
for (int k = 1 ; k <= N ; ++ k)
{
for (int i = 1 ; i <= N ; ++ i)
{
for (int j = 1 ; j <= N ; ++ j)
{
if (i == k || j == k || i == j || !mat[i][j])
continue;
mat[i][j] = min(mat[i][j], mat[i][k] + mat[k][j]);
}
}
}
for (int i = 1 ; i <= N ; ++ i)
{
for (int j = 1 ; j <= N ; ++ j)
g << mat[i][j] << " ";
g << "\n";
}
}
///-------------------------------------------------------
inline void Dijkstra()
{
}
///-------------------------------------------------------
inline void Bellman()
{
}
///-------------------------------------------------------
int main()
{
Floyd();
// Dijkstra();
// Bellman();
return 0;
}