*ë
KVï>c       s     d  k  Z  d  k Z  e a 	 e a  d g d d d „ Z 6 d „  Z G e d j o° H y I e i	 d Z
 Wn J K d Z
 n XM e i e
 ƒ Z N e e ƒ Q d Gt GHR t GHW e d d	 ƒ Z X x' t d X r Z Y e i d
 e ƒ qÜ W[ e i ƒ  n d  S(   Ni    c  	  s‡      | d }  |  i | d ƒ  t t j p
 t | j o x
|  i | ƒ d  rô }  |  i	 | ƒ d j o:  t
 |    | | g ! | |  i | | ƒ " | ƒ nœ % | | d j o t | ƒ |  i ƒ  j on ' | |  i | | ƒ } ( t t j p
 t | j o4 ) g  | a * | a + | o , d | GHn n n q\ Wn / | o 0 d Gn 3 |  i | d ƒ d S(   sâ   Realiza a busca em profundidade no grafo g.
	
	'caminho'	deve conter o nó inicial da busca.
	'parciais'	OPCIONAL determina se valores parciais são impressos
			ou não (bool)
	'custo'		o custo inicial
	
	Retorna o menor caminhoi   s   cinzai    s   brancos&   
Custo do melhor caminho (parcial): %is   +N(   s   caminhos   vertices   gs   setCors   melhor_custos   Nones   custos   listaAdjacencias   us   getCors	   visitaTSPs   obtemArestas   parciaiss   lens   numeroVerticess   melhor_caminho(   s   gs   caminhos   custos   parciaiss   vertices   u(    (    s   TSPOtimo.pys	   visitaTSP s,    		-	
 
c     sM  6 7 t  i  d ƒ } : t d d d d d d g t t d d d d d g t t t d d d d g t t t t d d d g t t t t t d d g t t t t t t d g t t t t t t t g g }  A xc t t |  ƒ ƒ d A rJ } B x> t d | d	 ƒ d B r$ } C | i | | |  | | ƒ q WqÞ WD | i	 ƒ  E t
 | ƒ d  S(
   Ni   i   i   i0   i   iH   i    i   i   (   s   Grafos   gs   Nones   ms   ranges   lens   is   js   insereArestas   imprimeMatrizAdjs	   visitaTSP(   s   ms   js   gs   i(    (    s   TSPOtimo.pys   test_module6 s   ± 	 	&s   __main__i   s   entradas   Menor custo:s   saidas   ws   %i
(   s   Grafos
   GrafoUtilss   Nones   melhor_caminhos   melhor_custos	   visitaTSPs   test_modules   __name__s   syss   argvs   entradas   TSPLIB2Grafos   gs   opens   fhs   is   writes   close(   s
   GrafoUtilss   fhs   is	   visitaTSPs   test_modules   gs   entradas   Grafo(    (    s   TSPOtimo.pys   ? s$   		+ 	