Cod sursa(job #2484085)

Utilizator OvidRata Ovidiu Ovid Data 30 octombrie 2019 17:45:55
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 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] && (dp[k][j]+dp[i][k]>dp[i][j] || !dp[i][j]) &&i!=j ){
            dp[i][j]=dp[i][k]+dp[k][j];}
            
        }

    }
}

}









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;
}