Cod sursa(job #2186517)

Utilizator AndreiD31Dragan Andrei AndreiD31 Data 25 martie 2018 18:14:06
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int n,i,j,k,c[111][111];
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
    {
        f>>c[i][j];
        if(i!=j&&c[i][j]==0)c[i][j]=INT_MAX/2;
    }

    for(k=1;k<=n;k++)
        for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
        if(c[i][j]>c[i][k]+c[k][j])c[i][j]=c[i][k]+c[k][j];

    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {
            if(i==j)g<<0<<" ";
            else
            {
                if(c[i][j]==INT_MAX/2)g<<0<<" ";
                else g<<c[i][j]<<" ";
            }
        }
        g<<'\n';
    }
    return 0;
}