Cod sursa(job #1670905)

Utilizator savinvadim1312savin vadim savinvadim1312 Data 1 aprilie 2016 10:11:23
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>

using namespace std;
int n, t[105][105];

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

int main()
{
    f>>n;

    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            f>>t[i][j];
        }
    }

    for(int k=0;k<n;k++){
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(t[i][k] && t[k][j] && (t[i][j]>t[i][k] + t[k][j]) || !t[i][j] && i!=j){
                    t[i][j] = t[i][k] + t[k][j];
                }
            }
        }
    }

    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            g<<t[i][j]<<" ";
        }
        g<<endl;
    }

    return 0;
}