Cod sursa(job #632955)

Utilizator cristicecCristian Uricec cristicec Data 12 noiembrie 2011 16:16:11
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>

using namespace std;
int a[103][104],n;
int min(int t, int k){
if(t<k) return t;
else return k;
}

int main(){
	freopen("royfloyd.in","r",stdin);
	freopen("royfloyd.out","w",stdout);
	scanf("%d", &n);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			scanf("%d", &a[i][j]);
	
  for(int z=1;z<=n;z++)
		for(int x=1;x<=n;x++)
			for(int y=1;y<=n;y++)
				a[x][y]=min(a[x][y], a[x][z]+a[z][y]);
	
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++)
			printf("%d ", a[i][j]);
		printf("\n");
	}
	return 0;
}