Cod sursa(job #2978972)

Utilizator DlexAndrei Alex Dlex Data 14 februarie 2023 18:16:18
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#include <climits>
using namespace std;
const int NMAX = 105;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int c[NMAX][NMAX],a[NMAX][NMAX];
int main()
{
    int n,i,j,k;
    fin >> n;
    for(i=1;i<=n;++i)
        for(j=1;j<=n;++j)
            if(i!=j)c[i][j] = INT_MAX/2;
    for(i=1;i<=n;++i)
        for(j=1;j<=n;++j)
            fin >> c[i][j];
    for(k=1;k<=n;++k)
        for(i=1;i<=n;++i)
            for(j=1;j<=n;++j)
                c[i][j] = min(c[i][j],c[i][k]+c[k][j]);
    for(i=1;i<=n;++i){
            for(j=1;j<=n;++j)
            {
                if(c[i][j] == INT_MAX/2)fout << 0 << " ";
                fout << c[i][j] << " ";
            }

    fout << "\n";
    }
    fin.close();
    fout.close();
    return 0;
}