Cod sursa(job #2484081)

Utilizator OvidRata Ovidiu Ovid Data 30 octombrie 2019 17:41:44
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin("royfloyd.in"); ofstream fout("royfloyd.out");




unsigned short int dp[101][101], n; 



void royfloyd(){
short unsigned int n1, n2;
for(int k=1; k<=n; k++){
    for(int i=1; i<=n; i++){
        for(int j=1; j<=n; j++){
            if(dp[i][k] && dp[k][j]){
            n1=dp[i][j]; n2=dp[i][k]+dp[k][j];
            dp[i][j]=n1>=n2?n2:n1 ;}
            
        }

    }
}

}









int main(){
fin>>n;

for(int i=1; i<=n; i++){
    for(int j=1; j<=n; j++){
fin>>dp[i][j];
    }



}


    royfloyd();

    for(int i=1; i<=n; i++){
          for(int j=1; j<=n; j++){
              fout<<dp[i][j]<<' ';
          }
        fout<<endl;
    }
  





    return 0;
}