Cod sursa(job #2975877)

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

const int N = 105;
int n, m[N][N];

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

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 k=0;k<n;k++)
		for(int i=0;i<n;i++)
			for(int j=0;j<n;j++)
				if(i!=j && m[i][k] && m[k][j])
					if(!m[i][j] || m[i][j]>m[i][k]+m[k][j])
						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;
}