Cod sursa(job #1214545)

Utilizator cojocarugabiReality cojocarugabi Data 30 iulie 2014 18:41:58
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
using namespace std;
ifstream fi("royfloyd.in");
ofstream fo("royfloyd.out");
int s[105][105];
int main()
{
    int n;
    fi>>n;
    for (int i=1;i<=n;++i)
    for (int j=1;j<=n;++j)
            fi>>s[i][j];
    for (int p=1;p<=n;++p)
    for (int i=1;i<=n;++i)
    for (int j=1;j<=n;++j)
    if (s[i][p] && s[p][j] && ((s[i][j]>s[i][p]+s[p][j]) || (!s[i][j] && i!=j)))s[i][j]=s[p][j]+s[i][p];
    for (int i=1;i<=n;++i)
    {
        for (int j=1;j<=n;++j)
            fo<<s[i][j]<<" ";
        fo<<"\n";
    }
    fo.close();
}