Cod sursa(job #1119285)

Utilizator mihaiavram96Avram Mihai mihaiavram96 Data 24 februarie 2014 16:43:43
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
using namespace std;
int n, a[101][101],i,j,k;
void citire()
{
    fstream f("royfloyd.in",ios::in);
    f>>n;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++)
            f>>a[i][j];
    f.close();
}
void prelucrare()
{
    for(k=1;k<=n;k++)
        for(i=1;i<=n; i++)
            for(j=1; j<=n; j++)
                if(a[i][j]&& a[i][k] && a[k][j] &&(a[i][j] > a[i][k] + a[k][j]))
                    a[i][j] = a[i][k] + a[k][j];
}

void afisare()
{
    fstream g("royfloyd.out",ios::out);
 for(i=1; i<=n; i++)
    {
        for(j=1;j<=n;j++)
            g<<a[i][j]<<' ';
        g<<'\n';
    }
    g.close();

}
int main()
{
    citire();
    prelucrare();
    afisare();
}