Cod sursa(job #2298432)

Utilizator BurlacuMateiBurlacu Matei BurlacuMatei Data 8 decembrie 2018 10:23:01
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>
#include <climits>
#define MAX 110

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

int A[MAX][MAX], tata[MAX][MAX];
int n;
int u, v, x;

int main()
{int i, j;

    fin >> n;

    for (i = 1; i <= n; i++)
        for (j = 1; j <= n; j++)
        {
            fin >> A[i][j];
            if(i!=j && A[i][j]==0)
                A[i][j]=INT_MAX/2;
        }

    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            fin>>A[i][j];

    for(x = 1;x <= n;x++)
        for(u = 1;u <= n;u++)
            for(v = 1;v <= n;v++)
            if(A[u][v] > A[u][x] + A[x][v])
                {
                    A[u][v] = A[u][x] + A[x][v];
                    tata[u][v] = tata[x][v];
                }

    for(i=1;i<=n;i++)
        {for(j=1;j<=n;j++)
            fout<<A[i][j]<<' ';
        fout<<'\n';}

    return 0;
}