Pagini recente » Cod sursa (job #440376) | Cod sursa (job #474231) | Cod sursa (job #324124) | Cod sursa (job #492185) | Cod sursa (job #1098213)
//
// main.cpp
// Roy-Floyd
//
// Created by Stefan Iarca on 2/4/14.
// Copyright (c) 2014 Stefan Iarca. All rights reserved.
//
#include <fstream>
#include <vector>
using namespace std;
#define NMAX 110
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
const int oo = 100000;
int N,M,Cost[NMAX][NMAX];
void Read(){
f>>N; int x;
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
f>>x;
if( x == 0){
Cost[i][j] = oo;
}else{
Cost[i][j] = x;
}
}
}
}
void RoyFloyd(){
for (int k = 1; k <= N; k++) {
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
Cost[i][j] = min(Cost[i][j],Cost[i][k] + Cost[k][j]);
}
}
}
}
void Solve(){
RoyFloyd();
}
void Write(){
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
if (Cost[i][j] >= oo || i == j) {
g<<0<<" ";
}else{
g<<Cost[i][j]<<" ";
}
}
g<<"\n";
}
}
int main()
{
Read();
Solve();
Write();
return 0;
}