Cod sursa(job #1556795)

Utilizator Rotsching_Cristofor_323CARotsching Cristofor Rotsching_Cristofor_323CA Data 25 decembrie 2015 23:34:21
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.99 kb
#include <iostream>
#include <stdio.h>
#include <limits.h>
using namespace std;

int N;
int v[100][100];
int dist[100][100];

void printMatrix (const int matrix[][100], int v);
void initDist(const int * dist , int len);

int main(){
	
	FILE * inFile = fopen("royfloyd.in" , "r");
	FILE * outFile = fopen("royfloyd.out" , "w+");
	
	fscanf(inFile , "%d\n", &N);
		
	for(int i = 0 ; i < N ; ++i){
		for (int j = 0 ; j < N ; j++){
			fscanf(inFile , "%d" , &v[i][j]); 
		}
	}
	
	
	for (int k = 0 ; k < N ; ++k){
		for (int i = 0 ; i < N ; ++i){
			for (int j = 0 ; j < N ; ++j){
				if(v[i][j] > v[i][k] + v[k][j])
					v[i][j] = v[i][k] + v[k][j]; 
			}
		}
	}
	
	
	for(int i = 0 ; i < N ; ++i){
		for(int j = 0 ; j < N ; ++j){
			fprintf(outFile , "%d " , v[i][j]);
		}
		fprintf(outFile , "\n");
	}
	// printMatrix(v , N);
		
	return 0 ;
}

void printMatrix(const int matrix[][100] , int len){
	for (int i = 0 ; i < len; i++){
		for(int j = 0 ; j < len ; j++){
			cout << matrix [i][j] << " ";
		}
		cout << "\n";
	}
}