Cod sursa(job #837972)

Utilizator RoswenRus Alexandru Roswen Data 18 decembrie 2012 21:20:45
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<stdio.h>
#include<vector>
using namespace std;
int n,x;
vector <int> a[105];
int main()
{
	freopen("royfloyd.in","r", stdin);
	freopen("roygfloyd.out","w", stdout);
	
	scanf("%d", &n);
	for(int i=0; i<n;i++)
		for(int j=0; j<n;j++)
		{
			scanf("%d ", &x);
			a[i].push_back(x);
		}
		
	
	for(int k=0; k<n ;k++)
		for(int i=0; i<n; i++)
			for(int j=0; j<n; j++)
				if(a[i][j] > a[i][k] + a[k][j])
					a[i][j] = a[i][k] + a[k][j];
			
	
	for(int i=0; i<n; i++)
	{
		for(int j=0; j<n;j++)
			printf("%d ", a[i][j]);
		printf("\n");
	}
				
	return 0;		
}