Cod sursa(job #3350270)

Utilizator dvviddManciu David dvvidd Data 6 aprilie 2026 20:13:22
Problema Floyd-Warshall/Roy-Floyd Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");

int N,a[100][100];

void roy_floyd(int N, int a[100][100])
{
    int i,j,k;

    for(k=1;k<=N;k++)
       for(i=1;i<=N;i++)
          for(j=1;j<=N;j++)
             if(a[i][j]>a[i][k]+a[k][j])a[i][j]=a[i][k]+a[k][j];
    
    for(int i=1;i<=N;i++){
       for(int j=1;j<=N;j++)fout<<a[i][j]<<" ";
      fout<<'\n'; 
    }
}

int main()
{
    fin>>N;

    for(int i=1;i<=N;i++)
       for(int j=1;j<=N;j++)fin>>a[i][j];
    
    roy_floyd(N,a);

    fin.close();
    fout.close();
    return 0;
}