Cod sursa(job #3253351)

Utilizator AlexandruDrg23Draghici Alexandru AlexandruDrg23 Data 2 noiembrie 2024 12:45:06
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
using namespace std;

ifstream fin("royfloyd.in");
ofstream fout ("royfloyd.out");

int ma[102][102];
int inf=10000000;

int main()
{
    int n;
    fin>>n;
    for(int k=1;k<=n;k++)
    {
        for(int c=1;c<=n;c++)
        {
            fin>>ma[k][c];
            if(c!=k && ma[k][c]==0)
                ma[k][c]=inf;
        }
    }
    for(int k=1;k<=n;k++)
    {
        for(int a=1;a<=n;a++)
        {
            for(int b=1;b<=n;b++)
                ma[a][b]=min(ma[a][b],ma[a][k]+ma[k][b]);
        }
    }
    for(int k=1;k<=n;k++)
    {
        for(int c=1;c<=n;c++)
        {
            if(c!=k && ma[k][c]==inf)
                fout<<0<<" ";
            else
                fout<<ma[k][c]<<" ";
        }
        fout<<endl;
    }
    return 0;
}