Cod sursa(job #1434715)

Utilizator alexandra_udristoiuUdristoiu Alexandra Maria alexandra_udristoiu Data 11 mai 2015 10:33:21
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<fstream>
using namespace std;
int n, i, j, k;
int a[102][102];
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int main(){
    fin>> n;
    for(i = 1; i <= n; i++){
        for(j = 1; j <= n; j++){
            fin>> a[i][j];
        }
    }
    for(k = 1; k <= n; k++){
        for(i = 1; i <= n; i++){
            for(j = 1; j <= n; j++){
                if(i != k && j != k && i != j && a[i][k] != 0 && a[k][j] != 0 && (a[i][k] + a[k][j] < a[i][j] || a[i][j] == 0)){
                    a[i][j] = a[i][k] + a[k][j];
                }
            }
        }
    }
    for(i = 1; i <= n; i++){
        for(j = 1; j <= n; j++){
            fout<< a[i][j] <<" ";
        }
        fout<<"\n";
    }
    return 0;
}