Cod sursa(job #2207542)

Utilizator sandupetrascoPetrasco Sandu sandupetrasco Data 25 mai 2018 22:07:24
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <bits/stdc++.h>
#define ll long long
#define MOD 666013
#define NMAX 257
using namespace std;
int N, M[NMAX][NMAX], dp[NMAX][NMAX];
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    ifstream cin("royfloyd.in");
    ofstream cout("royfloyd.out");
    cin >> N;
    for(int i = 1; i <= N; i++)
        for(int j = 1; j <= N; j++){
            cin >> M[i][j];
            if (!M[i][j]) M[i][j] = 2e9;
        }
      
    //roy-floyd
    for(int k = 1; k <= N; k++)
        for(int i = 1; i <= N; i++)
            for(int j = 1; j <= N; j++){
                if (i == j) continue;
                if(M[i][j] > M[i][k] + M[k][j])
                    M[i][j] = M[i][k] + M[k][j];
            }
      
    for(int i = 1; i <= N; i++){
        for(int j = 1; j <= N; j++)
            cout << M[i][j] <<" ";
        cout << "\n";
    }