Cod sursa(job #1329342)

Utilizator sifushifMihaela Muraru sifushif Data 29 ianuarie 2015 13:54:36
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<iostream>
#include<fstream>
using namespace std;

int p[105][105];
int n;

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



int main(){

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

	for(int k=1; k<=n; k++){
		for(int i=1; i<=n; i++){
			for(int j=1; j<=n; j++ ){
				 if((p[i][j] > p[i][k] + p[k][j] || p[i][j] == 0)&& p[i][k] && p[k][j] && i!=j){
                    p[i][j] = p[i][k] + p[k][j];
				}
			}
		}	
	}





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

	

return 0;
}