Cod sursa(job #2970055)

Utilizator ViAlexVisan Alexandru ViAlex Data 24 ianuarie 2023 10:41:27
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include<iostream>
#include<deque>
#include<algorithm>
#include<vector>
#include<fstream>
using namespace std;
#pragma GCC optimize("O3,unroll-loops")

const int mx = 100;

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

int n;
int d[mx][mx];

void read(){
	in>>n;
	for(int i=0;i<n;i++){
		for(int k=0;k<n;k++){
			in>>d[i][k];
		}
	}
}

void solve(){
	for(int k=0;k<n;k++){
		for(int i=0;i<n;i++){
			for(int j=0;j<n;j++){
				int s = d[i][k] + d[k][j];;
				if(s < d[i][j]){
					d[i][j] = s;
				}
			}
		}
	}
	for(int i=0;i<n;i++){
		for(int k=0;k<n;k++){
			out<<d[i][k]<<" ";
		}
		out<<'\n';
	}
}


int main(){
	read();
	solve();

	return 0;
}