Cod sursa(job #2449286)

Utilizator CharacterMeCharacter Me CharacterMe Data 19 august 2019 09:18:22
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>
///N=100
///D=1000
using namespace std;
///
int n, i, j, k;
int dist[101][101];
///
void read();
void solve();
void write();
int main()
{
    read();
    solve();
    write();
    return 0;
}
void read(){
    freopen("royfloyd.in", "r", stdin);
    scanf("%d", &n);
    for(i=1; i<=n; ++i)
        for(j=1; j<=n; ++j) scanf("%d", &dist[i][j]);
    fclose(stdin);
}
void solve(){
    for(k=1; k<=n; ++k)
        for(i=1; i<=n; ++i)
            for(j=1; j<=n; ++j) dist[i][j]=min(dist[i][j], dist[i][k]+dist[k][j]);
}
void write(){
    freopen("royfloyd.out", "w", stdout);
    for(i=1; i<=n; ++i){
        for(j=1; j<=n; ++j) printf("%d ", dist[i][j]);
        printf("\n");
    }
    fclose(stdout);
}