Cod sursa(job #2843850)

Utilizator paisieRusu Paisie paisie Data 3 februarie 2022 00:56:02
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define pb push_back
#define pair<int, int> pi
#define mp make_pair
#define forr(X) for(int i = 0; i<X; i++)
#pragma GCC optimize("Ofast")
#define F first
#define all(X) X.begin(), X.end()
#define S second
#define int ll
#define out(X) for(auto it: X){ for(auto ito : it)cout<<ito<<" "; cout<<endl;}
//#define MOD 1000000000000000031

void solve(){
	int n; cin>>n;
	vector<vector<int> >g(n, vector<int>(n));
	forr(n){
		for(int j=0; j<n; j++){
			cin>>g[i][j];
		}
	}
	
	for(int k=0; k<n; k++){
		forr(n){
			for(int j=0; j<n; j++){
				if(g[i][k]+g[k][j]<g[i][j]){
					g[i][j]= g[i][k]+g[k][j];
				}
			}
		}
	}
	
	forr(n){
		for(int j=0; j<n; j++){
			cout<<g[i][j]<<" ";
		}
		cout<<endl;
	}
	
	
}

int32_t main(){
	freopen("royfloyd.in", "r", stdin);
	freopen("royfloyd.out", "w", stdout);
	//int t;cin>>t;while(t--)
	solve();
}