Cod sursa(job #1842260)

Utilizator SMerlinJacobsen Iandru SMerlin Data 6 ianuarie 2017 18:55:08
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include<stdio.h>
#include<cstdlib>
#define inf 10000
#pragma warning(disable:4996)
using namespace std;


int main() {
	freopen("fractii.in", "r", stdin);
	freopen("fractii.out", "w", stdout);
	
	int N, pond[110][110], mat_min[110][110];
	scanf("%d", &N);

	for (int i = 1; i <= N; i++) {
		for (int j = 1; j <= N; j++)
		{
			scanf("%d", &pond[i][j]);
			if (!pond[i][j]) pond[i][j] = inf;
		}
		pond[i][i] = 0;
	}

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

	for (int i = 1; i <= N; i++) {
		for (int j = 1; j <= N; j++)
			printf("%d ", pond[i][j]);
		printf("\n");
	}



	system("Pause");
	return 0;
}