Cod sursa(job #2424129)

Utilizator sorina-maria.andreiAndrei Sorina-Maria sorina-maria.andrei Data 22 mai 2019 17:41:36
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <fstream>

using namespace std;

void Roy_Floyd(int a[105][105],int n)
{
    int i,j,k;
     for(k = 1;k <= n; k++)
       for(i = 1;i <= n; i++)
        for(j = 1;j <= n; j++)
          if(a[i][j] > (a[i][k] + a[k][j]) || a[i][j] == 0)
             {
                 if((a[i][k]!=0) && (a[k][j]!=0) && (i!=j))
                   a[i][j] = a[i][k] + a[k][j];
             }
}

int main()
{
    ifstream fin("royfloyd.in");
    ofstream fout("royfloyd.out");
    int N,a[105][105];
    int i,j;
    fin >> N;
    for(i = 1;i <= N; i++)
     for(j = 1;j <= N; j++)
         fin >> a[i][j];
    Roy_Floyd(a,N);
    for(i = 1;i <= N; i++)
     {
       for(j = 1;j <= N; j++)
        fout << a[i][j] << " ";
       fout << endl;
     }
    return 0;
}