Cod sursa(job #1968924)

Utilizator workwork work work Data 17 aprilie 2017 23:50:07
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;

ifstream F("royfloyd.in");
ofstream G("royfloyd.out");

int n, c[102][102];

int main()
{
    F >> n;
    for(int i = 1; i <= n; ++ i)
        for(int j = 1; j <= n; ++ j)
            F >> c[i][j];
    for(int k = 1; k <= n; ++ k)
        for(int i = 1; i <= n; ++ i)
            for(int j = 1; j <= n; ++ j)
                if(i != k && j != k && (c[i][j] > c[i][k] + c[k][j] || !c[i][j]) && i!= j && c[i][k] && c[k][j])
                    c[i][j] = c[i][k] + c[k][j];
    for(int i = 1; i <= n; ++ i, G << '\n')
        for(int j = 1; j <= n; ++ j)
            G << c[i][j] << " ";
    return 0;
}