Pagini recente » Cod sursa (job #284359) | Cod sursa (job #811330) | Cod sursa (job #821570) | Cod sursa (job #1206006) | Cod sursa (job #2565776)
#include <bits/stdc++.h>
#define MAXN 105
#define INF 2e9
#define FILENAME std::string("royfloyd")
std::ifstream input (FILENAME+".in");
std::ofstream output(FILENAME+".out");
int RF[MAXN][MAXN];
int main()
{
int N; input >> N;
for (int i=1, j; i<=N; ++i) for (j=1; j<=N; ++j)
input >> RF[i][j], RF[i][j] = (RF[i][j] == 0 && i != j ? INF : RF[i][j]);
for (int k=1; k<=N; ++k)
for (int i=1; i<=N; ++i)
for (int j=1; j<=N; ++j)
RF[i][j] = std::min(RF[i][j], RF[i][k] + RF[k][j]);
for (int i=1, j; i<=N; ++i, output << '\n') for (j=1; j<=N; ++j)
output << (RF[i][j] == INF ? 0 : RF[i][j]) << ' ';
return 0;
}