Cod sursa(job #2975859)

Utilizator dumitrache12Dumitrache Iulian dumitrache12 Data 7 februarie 2023 19:09:13
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include<bits/stdc++.h>
using namespace std;

const int N = 105;

ifstream in ("royfloyd.in");
ofstream out("royfloyd.out");
// auto& in = cin;
// auto& out = cout;

int n, m[N][N];

void read()
{
	in>>n;
	for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
			in>>m[i][j];
}
void royfloyd()
{
	for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
			for(int k=0;k<n;k++)
				if(m[i][k] && m[k][j])
					m[i][j] = min(m[i][j], m[i][k] + m[k][j]);
}
void show()
{
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
			out<<m[i][j]<<' ';
		out<<endl;
	}
}
int main(){
	read();
	royfloyd();
	show();
	return 0;
}