Cod sursa(job #561233)

Utilizator IAmASuperCerealVictor Andrei IAmASuperCereal Data 19 martie 2011 11:15:12
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 7.72 kb
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////[#\:xx        xx:\#[//////////////////////////////////////////////////
//////////////////////////////////////////[\x^@HpN77777777777777777777NpH&^x\[//////////////////////////////////////////
/////////////////////////////////////[x^dp77777777777777777777777777777777777Np@ :[/////////////////////////////////////
/////////////////////////////////[x&p77777777777777777777777777777777777777777777773_x[/////////////////////////////////
//////////////////////////////#^3777777777777777777777777777777777777777777777777777777H #//////////////////////////////
///////////////////////////#^p7777777777777777777777777777777777777777777777777777777777773 #///////////////////////////
////////////////////////[ H777777777777777777777777777777777777777777777777777777777777777777Hx[////////////////////////
//////////////////////#^W7777777777777777777777777777777777777777777777777777777777777777777777W^[//////////////////////
////////////////////#&N77777777777777777777777777777777777777777777777777777777777777777777777777N_[////////////////////
//////////////////[_N777777777777777777777777777777777777777777777777777777777777777777777777777777N^[//////////////////
///////////////// W7777777777777777777777777777777777777777777777777777777777777777777777777777777777Wx/////////////////
///////////////#H77777W3Hddd3W77777777777777777777777777777777777777777777NpHdddd3W77777777777777777777d#///////////////
////////////// N773_x[////////[\ dN777777777777777777777777777777777773_x#/////////[\ @W7777777777777777Nx//////////////
////////////[&77H\///# @pWNWH_:///[ 3777777777777777777777777777777p #///# &3WNNpH_x////:&N777777777777777_/////////////
///////////[H7N ///_zMMMMMMMP@#//////xp77777777777777777777777777px///:3zMMMMMMMMME [/////[_777777777777777d[///////////
//////////[37W\//\EMMMMMMMMQ#/////////[@777777777777777777777777&[//xEMMMMMMMMMMMp//////////\377777777777777H[//////////
/////////[37N\//xPMMMMMMMMM_////////////_7777777777777777777777x//[WMMMMMMMMMMMMM[///////////[d77777777777777H[/////////
/////////H77x//\PMMMMMMMMMM3/////////////@77777777777777777777 //#zMMMMMMMMMMMMMMx////////////[H77777777777777@/////////
////////_773///9MMMMMMMMMMMM@[///////[x//[W777777777777777777@///EMMMMMMMMMMMMMMMDx////////\ //#N77777777777777 ////////
///////:777 //xMMMMMMMMMMMMMMD3^x:x^pPL#//^777777777777777777#//_MMMMMMMMMMMMMMMMMMJd ::x&7LL[//_777777777777777#///////
///////p777#//dMMMMMMMMMMMMMMMMMMMMMMMM_//\77777777777777777p///JMMMMMMMMMMMMMMMMMMMMMMMMMMMM_//:777777777777777H///////
////// 7777[//3MMMMMMMMMMMMMMMMMMMMMMMM3//#77777777777777777d///PMMMMMMMMMMMMMMMMMMMMMMMMMMMM3//[7777777777777777x//////
//////37777\//@MMMMMMMMMMMMMMMMMMMMMMMMd//#77777777777777777H///DMMMMMMMMMMMMMMMMMMMMMMMMMMMMd//#7777777777777777H//////
/////\77777 //\MMMMMMMMMMMMMMMMMMMMMMMMx//x77777777777777777N[//WMMMMMMMMMMMMMMMMMMMMMMMMMMMMx//x77777777777777777#/////
/////^77777p///^&&&&&&&&&&&&&&&&&&&&&&&///d777777777777777777 //\&&&&&&&&&&&&&&&&&&&&&&&&&&&_///H77777777777777777 /////
/////d777777 ////////////////////////////x7777777777777777777W[//////////////////////////////// 777777777777777777&/////
/////p7777777WWWWWWWWWWWWWWWWWWWWWWWWWWWWN77777777777777777777NWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW7777777777777777777H/////
/////W7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777773/////
/////W7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777773/////
/////p777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777H/////
/////d777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777&/////
///// 777777773[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[#W7777777777777777777x/////
/////#77777777pxxxx///[####################################################################[//x7777777777777777777[/////
//////377777777777N///x                                                                    x///H77777777777777777d//////
//////x777777777777#//\                                                                     #//x77777777777777777://////
///////377777777777_//[                                                                     ://[7777777777777777H///////
///////\77777777777N#//\                                                                    x///N77777777777777N#///////
////////^77777777777d///x                                                                   x///777777777777777 ////////
/////////d77777777777 //[                                                                   \//#77777777777777@/////////
/////////[377777777777x//[                                                                  [//^7777777777777d[/////////
//////////[37777777777Nx//[                                                                \//[W777777777777H[//////////
///////////[H7777777777Nx//[x                                  ^^___^^                    :///d777777777777@[///////////
/////////////_77777777777 ///x                           ^dp7EzDDDDDDDzJ7pd^             :///@777777777777^/////////////
//////////////xN7777777777&[//\                       _3EDDDDDDDDDDDDDDDDDDDEp&         #//[d77777777777Wx//////////////
///////////////#d77777777773#//[x                   @7DDDDDDDDDDDDDDDDDDDDDDDDD9d     :[//\p77777777777@[///////////////
/////////////////xW777777777N^[//#x               _7DDDDDDDDDDDDDDDDDDDDDDDDDDDDD9& x[//[&77777777777px/////////////////
//////////////////[^N777777777Wx///#x            dzDDDDDDDDDDDDDDDDDDDDDDDDDDDDDz3x[//[^N7777777777W [//////////////////
////////////////////[_N7777777773x///#x         HDDDDDDDDDDDDDDDDDDDDDDDDDDDDzW^#///#&N7777777777N^[////////////////////
//////////////////////[^W777777777p [//[#x     &QDDDDDDDDDDDDDDDDDDDDDDDDQE3 #///[ H77777777777p [//////////////////////
/////////////////////////xd777777777N&:////#\x EDDDDDDDDDDDDDDDDDDDDDJNd #[///# dN77777777777dx/////////////////////////
///////////////////////////# 3777777777N@ #////[x^@3W7EJzzzJE9NpH& :[/////#x_p777777777777H [///////////////////////////
//////////////////////////////# HN777777777NH_x\[//////////////////[#x &HW777777777777Nd #//////////////////////////////
/////////////////////////////////[x_3N77777777777W3d@&^^    ^^_@d3W777777777777777NH^:[/////////////////////////////////
/////////////////////////////////////[: @3N7777777777777777777777777777777777N3& \[/////////////////////////////////////
//////////////////////////////////////////[#x &d3WN777777777777777777NW3d_ x#[//////////////////////////////////////////
//////////////////////////////////////////////////[[#\:xx      xx:\#[[//////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include<stdio.h>
#define input "royfloyd.in"
#define output "royfloyd.out"
#define NMAX 101

int n;
int g[NMAX][NMAX];

void open()
{
	freopen(input,"r",stdin);
	freopen(output,"w",stdout);
}
void read()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			scanf("%d",&g[i][j]);
}

void royfloyd()
{
	for(int k=1;k<=n;k++)
		for(int i=1;i<=n;i++)
			for(int j=1;j<=n;j++)
				if(g[i][k]&&g[k][j]&&(g[i][k]+g[k][j]<g[i][j]||!g[i][j])&&i!=j)
					g[i][j]=g[i][k]+g[k][j];
}

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

int main()
{
	open();
	read();
	royfloyd();
	a_fish();
	return 0;
}