Cod sursa(job #1805023)

Utilizator serbanSlincu Serban serban Data 13 noiembrie 2016 13:17:00
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>

using namespace std;

int c[105][105];
int t[105][105];

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

    int n;
    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(c[i][j] > c[i][k] + c[k][j]) {
                    c[i][j] = c[i][k] + c[k][j];
                    t[i][j] = k;
                }
    for(int i = 1; i <= n; i ++) {
        for(int j = 1; j <= n; j ++)
            g << c[i][j] << " ";
        g << "\n";
    }
    return 0;
}