Cod sursa(job #2013746)

Utilizator circeanubogdanCirceanu Bogdan circeanubogdan Data 22 august 2017 12:07:28
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
#define DIM 102
#define INF 1000000000

using namespace std;

ifstream f("royfloyd.in");
ofstream g("royfloyd.out");

int n, i, j, k, mat_ad[DIM][DIM];

int main()
{

    f>>n;
    for(i = 1;i <= n; ++ i)
        for(j = 1;j <= n; ++ j)
        {
            f>>mat_ad[i][j];
            if(mat_ad[i][j] == 0) mat_ad[i][j] = INF;
        }

    for(k = 1; k <= n; ++ k)
        for(j = 1; j <= n; ++ j)
            for(i = 1; i <= n; ++ i)
            {
                mat_ad[i][j] = min(mat_ad[i][j], mat_ad[i][k] + mat_ad[k][j]);
            }

    for(i = 1; i <= n; ++ i)
    {
        for(j = 1; j <= n; ++ j)
        {
            if(mat_ad[i][j] == INF || i == j) mat_ad[i][j] = 0;
            g<<mat_ad[i][j]<<" ";
        }
        g<<'\n';
    }

    return 0;
}