Cod sursa(job #2820061)

Utilizator AndreeaGeamanuAndreea AndreeaGeamanu Data 19 decembrie 2021 20:03:01
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
#include <bits/stdc++.h>

#define nmax 105


using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");

int m[nmax][nmax];

int main()
{
    int n,i,j,x,k;
    f>>n;
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            f>>x;
            m[i][j]=x;
        }
    }

    for(k=1; k<=n; k++){
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++){
               if(m[i][j]>m[i][k]+m[k][j] && i!=j)
                    m[i][j] = m[i][k]+m[k][j];
            }
        }
    }

    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            g<<m[i][j]<<" ";
        }
        g<<"\n";
    }

    f.close();
    g.close();
    return 0;
}