Cod sursa(job #1165979)

Utilizator toranagahVlad Badelita toranagah Data 3 aprilie 2014 08:48:40
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <algorithm>
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;

ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");

const int MAX_N = 105;

int N;
int d[MAX_N][MAX_N];

int main() {
  fin >> N;
  for (int i = 1; i <= N; i += 1)
    for (int j = 1; j <= N; j += 1)
      fin >> d[i][j];

  for (int k = 1; k <= N; k +=1)
    for (int i = 1; i <= N; i += 1)
      for (int j = 1; j <= N; j += 1)
        if (i != j && i != k && j != k)
          d[i][j] = min(d[i][j], d[i][k] + d[k][j]);

  for (int i = 1; i <= N; i += 1) {
    for (int j = 1; j <= N; j += 1)
      fout << d[i][j] << ' ';
    fout << '\n';
  }
  return 0;
}