Pagini recente » Cod sursa (job #2107637) | Cod sursa (job #777324) | Cod sursa (job #2066932) | Cod sursa (job #1249972) | Cod sursa (job #1128429)
#ifdef __INFOARENA_PROJ
#include "infoarena.h"
#endif
#include <fstream>
#include <algorithm>
#ifdef __INFOARENA_PROJ
namespace royfloyd {
#endif
unsigned const int maxN = 1000;
int main()
{
std::ifstream in("royfloyd.in");
std::ofstream out("royfloyd.out");
int N;
in >> N;
unsigned short D[maxN + 1][maxN + 1];
for (int i = 1; i <= N; ++i)
{
for (int j = 1; j <= N; ++j)
{
in >> D[i][j];
if (D[i][j] == 0)
D[i][j] = (unsigned short)-1;
}
}
for (int k = 1; k <= N; ++k)
for (int i = 1; i <= N; ++i)
for (int j = 1; j <= N; ++j)
if (D[i][k] + D[k][j] < D[i][j])
D[i][j] = D[i][k] + D[k][j];
for (int i = 1; i <= N; ++i)
{
for (int j = 1; j <= N; ++j)
out << D[i][j] << ' ';
out << '\n';
}
return 0;
}
#ifdef __INFOARENA_PROJ
}
#endif
int D[100][100];
void roy() //cel mai scurt drum intre oricare 2 noduri
{
}