Cod sursa(job #964608)

Utilizator RoxanaIstrateIstrate Roxana RoxanaIstrate Data 21 iunie 2013 18:17:37
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <math.h>
#define max 110
using namespace std;
int matrix[max][max];

int main(){
	
	
	ifstream fin("royfloyd.in");
	ofstream fout("royfloyd.out");
	int i, j, k, sum, size;
	fin>>size;
	for(i = 0; i < size; i++){
		for(j = 0; j < size; j++){
			fin>>matrix[i][j];
		}
	}
	for(k = 0; k < size; k++){
		for(i = 0; i < size; i++){
			for(j = 0; j < size; j++){
				if( matrix[i][k] != 0 && matrix[k][j] != 0 && (matrix[i][j] > matrix[i][k] + matrix[k][j] || matrix[i][j] == 0) && i != j)
					matrix[i][j] = matrix[i][k] + matrix[k][j];
			}
		}
	}
	for(i = 0; i < size; i++){
		for(j = 0; j < size; j++){
			fout<<matrix[i][j]<<" ";
		}
		fout<<"\n";
	}
	return 0;	
}