Cod sursa(job #1805381)

Utilizator Cudrici_CarinaCudrici Carina Cudrici_Carina Data 13 noiembrie 2016 18:40:28
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
using namespace std;
ifstream fi("royfloyd.in");
ofstream fo("royfloyd.out");
const int inf=0x3f3f3f3f;
int a[101][101],i,j,k,n;

int main()
{
    fi>>n;
    for(i=1;i<=n;i++) for(j=1;j<=n;j++) fi>>a[i][j];
    for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(!a[i][j]) a[i][j]=inf;


    for(k=1;k<=n;k++)
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    if(i!=j and a[i][k]+a[k][j]<a[i][j]) a[i][j]=a[i][k]+a[k][j];

   for(i=1;i<=n;i++,fo<<'\n') for(j=1;j<=n;j++)
         if(a[i][j]!=inf) fo<<a[i][j]<<" ";
                      else fo<<0<<" ";

    return 0;
}