Pagini recente » Cod sursa (job #1815390) | Cod sursa (job #1386100) | Cod sursa (job #470037) | Cod sursa (job #1358719) | Cod sursa (job #973629)
Cod sursa(job #973629)
#include <fstream>
using namespace std;
const int MAX_N = 102;
const int INF = (1 << 20);
int N;
int D[MAX_N][MAX_N];
int main() {
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
f >> N;
for(int i = 1; i <= N; ++i)
for(int j = 1; j <= N; ++j)
f >> D[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 != j && D[i][k] && D[k][j]) {
D[i][j] = min(D[i][j], D[i][k] + D[k][j]);
if(!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)
g << D[i][j] << ' ';
g << '\n';
}
f.close();
g.close();
return 0;
}