Cod sursa(job #1610547)

Utilizator AvramAlexandraAvram Ioana-Alexandra AvramAlexandra Data 23 februarie 2016 17:14:25
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

ifstream f("roy-floyd.in");
ofstream g("roy-floyd.out");
int a[101][101],k,n,m,x,y,cost;
void rf()
{
    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][k] and a[k][j] and (a[i][j] > a[i][k] + a[k][j] or  !a[i][j]) and i != j) a[i][j] = a[i][k] + a[k][j];
}

void afis()
{
    int i, j;
    for (i=1;i<=n;i++)
    {
        for (j=1;j<=n;j++)
            g<<a[i][j]<<" ";
        g<<'\n';
    }
}


int main()
{
      f>>n;
      for(int i=1;i<=n;i++)
       for(int j=1;j<=n;j++)
        f>>a[i][j];
     rf();
     afis();
    return 0;
}