Cod sursa(job #2605987)

Utilizator Gliumarin negai Gliu Data 26 aprilie 2020 16:53:46
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <bits/stdc++.h>
using namespace std;

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

int n,a[1000][1000];
int main(){

in >>n;
for(int i=1;i<=n;i++){
	for(int j=1;j<=n;j++){
	in>>a[i][j];
}

}

for(int k=1;k<=n;k++){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if (a[i][k] && a[k][j] && (a[i][j] > a[i][k] + a[k][j] || !a[i][j]) && i != j) a[i][j] = a[i][k] + a[k][j];
			//	a[i][j]=min(a[i][j],a[i][k]+a[k][j]);
			
			
		}
	}
}

for(int i=1;i<=n;i++){
	for(int j=1;j<=n;j++){
	out<<a[i][j]<<" ";
}
out<<"\n";
}
}