Cod sursa(job #3302973)

Utilizator CosminaneBoac Mihai Cosmin Cosminane Data 12 iulie 2025 14:50:35
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
using namespace std;
int dp[105][105];
int main(){
	int n, i, j, k;
	ifstream fin( "royfloyd.in" );
	ofstream fout( "royfloyd.out" );
	fin >> n;
	for( i = 0; i < n; i++ ){
		for( j = 0; j < n; j++ ){
			fin >> dp[i][j];
			if( dp[i][j] == 0 ){
				dp[i][j] = INT32_MAX / 2;
			}
		}
	}
	for( k = 0; k < n; k++ ){
		for( i = 0; i < n; i++ ){
			for( j = 0; j < n; j++ ){
				dp[i][j] = min( dp[i][k] + dp[k][j], dp[i][j] );
			}
		}
	}
	for( i = 0; i < n; i++ ){
		for( j = 0; j < n; j++ ){
			if( i == j || dp[i][j] >= INT32_MAX / 2 ){
				dp[i][j] = 0;
			}
			fout << dp[i][j] << ' ';
		}
		fout << '\n';
	}
	return 0;
}