Cod sursa(job #2571756)

Utilizator yo_andrei_2003Murica Andrei yo_andrei_2003 Data 5 martie 2020 10:01:13
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <cstdio>

using namespace std;
int m[102][102], n;
void roy() {
    for (int i=0;i<n;i++) {
        for (int l=0;l<n;l++) {
            for (int k=0;k<=n;k++) {
                if (m[l][k]>m[l][i]+m[i][k]) {
                    m[l][k]=m[l][i]+m[i][k];
                }
            }
        }
    }
}
int main()
{
    int i, l;
    FILE *fin, *fout;
    fin=fopen("royfloyd.in" ,"r");
    fout=fopen("royfloyd.out" ,"w");
    fscanf(fin, "%d" ,&n);
    for (i=0;i<n;i++) {
        for (l=0;l<n;l++) {
            fscanf(fin, "%d" ,&m[i][l]);
        }
    }
    roy();
    for (i=0;i<n;i++) {
        for (l=0;l<n;l++) {
            fprintf(fout, "%d " ,m[i][l]);
        }
        fprintf(fout, "\n");
    }
    cout << "Hello world!" << endl;
    return 0;
}