Cod sursa(job #1364347)

Utilizator priestnoobFMI - Dan Nema priestnoob Data 27 februarie 2015 16:59:33
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include<fstream>
#include<vector>
#include<algorithm>

using namespace std;

#define nmax 125

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

int n,nr;
vector<vector<int> > v;

void citire()
{
    f>>n;
    v.resize(n+1, vector<int> (n+1) );
    for(int i=1;i<=n;++i)
        for(int j=1;j<=n;++j)
        f>>v[i][j];
}

void afisare()
{
    for(int i=1;i<=n;++i)
    {
        for(int j=1;j<=n;++j)
        {
            g<<v[i][j]<<' ';
        }
        g<<'\n';
    }
}

void solve()
{
    citire();
    for(int k=1;k<=n;++k)
        for(int i=1;i<=n;++i)
        for(int j=1;j<=n;++j)
        {
        if(i!=j)
        {
            if(v[i][j]==0||v[i][j]>v[i][k]+v[k][j])
                v[i][j]=v[i][k]+v[k][j];
        }
        nr++;;
        }
    afisare();
}

int main()
{
    solve();
}