Cod sursa(job #2569725)

Utilizator Diana-ElenaStancu Diana-Elena Diana-Elena Data 4 martie 2020 13:22:47
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda r3capitusulare Marime 0.7 kb
#include <fstream>
using namespace std;
ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");
int n, i, j, k, ad[104][104];
void citeste()
{
  cin >> n;
  for(i = 0; i < n; ++i)
    for(j = 0; j < n; ++j)
    {
      cin >> ad[i][j];
    }
}
void rezolva()
{
  for(k = 0; k < n; ++k)
    for(i = 0; i < n; ++i)
      for(j = 0; j < n; ++j)
    {
      if((ad[i][j]>ad[i][k]+ad[k][j] || !ad[i][j]) && ad[i][k] && ad[k][j] && i!=j)
        ad[i][j] = ad[i][k] + ad[k][j];
    }
}
void afisare()
{
  for(i = 0; i < n; ++i)
  {
    for(j = 0; j < n; ++j)
      cout << ad[i][j] << ' ';
    cout << '\n';
  }
}
int main()
{
  citeste();
  rezolva();
  afisare();
    return 0;
}