Cod sursa(job #1458066)

Utilizator glbglGeorgiana bgl glbgl Data 6 iulie 2015 14:10:05
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <stdio.h>
#include <vector>
#include <iostream>
#include <fstream>

#define MAX 100

using namespace std;

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

int N;
vector <vector<int> > tpl;
//vector< vector<int> > mindist;

void read(){

	in >> N;

	tpl.resize(N+1, vector<int>(N+1));
	//mindist.resize(N+1);


	int x;

	for(int i = 1; i <= N; ++i){
		for(int j = 1; j <= N; ++j){
			in >> x;
			tpl[i][j] = x;
		}
		
	}

}


void RoyFloyd(){

	for(int k = 1; k <= N; ++k){
		for(int i = 1; i <= N; ++i){
			for(int j = 1; j <=N; ++j){
				if(tpl[i][j] > tpl[i][k] + tpl[k][j])
					tpl[i][j] = tpl[i][k] + tpl[k][j];
			}
		}
	}
}



int main(){

	read();
	RoyFloyd();

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