Cod sursa(job #1727596)

Utilizator xSliveSergiu xSlive Data 11 iulie 2016 11:36:51
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
using namespace std;



int main()
{
    ifstream f("royfloyd.in");
    ofstream g("royfloyd.out");
    int n, a[101][101],i,j,k;
    f >> n;
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            f >> a[i][j];
    for(k=0;k<n;k++)
        for(i=0;i<n;i++)
            for(j=0;j<n;j++)
                if(a[i][k] && a[k][j])
                    if((a[i][j] == 0 &&i!=j) || a[i][k] + a[k][j] < a[i][j])
                        a[i][j] = a[i][k] + a[k][j];
    for(i=0;i<n;i++){
        for(j=0;j<n;j++)
            g<<a[i][j] << " ";
        g << endl;
    }
    f.close();
    g.close();
    return 0;
}