Cod sursa(job #3257783)

Utilizator CReaper1116Shang Cheng Lin CReaper1116 Data 19 noiembrie 2024 15:12:08
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include<bits/stdc++.h>
#define cin fin
#define cout fout
using namespace std;
const int inf = 1e9;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
const int N = 100;
int v[N][N];
int main(){
	int n;
	cin>>n;
	for(int i = 0;i < n;i++){
		for(int j = 0;j < n;j++){
			cin>>v[i][j];
			if(v[i][j] == 0)v[i][j] = inf;
		}
	}
	for(int k = 0;k < n;k++){
		for(int i = 0;i < n;i++){
			for(int j = 0;j < n;j++){
				v[i][j] = min(v[i][j], v[i][k] + v[k][j]);
			}
		}
	}
	for(int i = 0;i < n;i++){
		for(int j = 0;j < n;j++){
			if(v[i][j] == inf || i == j)v[i][j] = 0;
			cout<<v[i][j]<<' ';
		}
		cout<<'\n';
	}
    return 0;
}