Cod sursa(job #3275086)

Utilizator Mateixx1Trandafir matei Mateixx1 Data 9 februarie 2025 11:12:41
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
const long long INF=0x3F3F3F3F;
int n,v[110][110];

int main() {
    f>>n;
    for(int i=1; i<=n; i++) {
        for(int j=1; j<=n; j++) {
            f>>v[i][j];
            if(v[i][j]==0&&i!=j) {
                v[i][j]=INF;
            }
        }
    }
    for(int k=1; k<=n; k++) {
        for(int i=1; i<=n; i++) {
            for(int j=1; j<=n; j++) {
                if(i!=j&&v[i][j]>v[i][k]+v[k][j]) {
                    v[i][j]=v[i][k]+v[k][j];
                }
            }
        }
    }
    for(int i=1; i<=n; i++) {
        for(int j=1; j<=n; j++) {
            if(v[i][j]==INF) {
                g<<0<<' ';
            } else {
                g<<v[i][j]<<' ';
            }
        }
        g<<'\n';
    }
    f.close();
    g.close();
    return 0;
}