Curso: LP I Prof. Ulises ROMAN C. La teora de algoritmos (TA) om!rende :anlisis, diseo e implementacin de algoritmos" las mismas #ue se $asan en la representacin y descubrimiento de algoritmos" $asados en estructuras iterativas y recursivas. %l desarrollo de un !rograma de om!utadoras !uede di&idirse en dos eta!as: Diseo de algoritmos que resuelve el problemas y conversin del algoritmo al programa. Algunas definiiones de algoritmo'A(: )es un on*unto de !asos" !roedimientos o aiones #ue conducen a la solucin de un problema" )Una seuenias de !asos e*euta$les no am$iguos" finita de seguir de$e terminar en alg+n momento," )%s un on*unto de instruiones !ara e*eutar una tarea, Los algoritmos e*eutados en una Com!utadora se le onoen omo algoritmos om!utaionales. Las iencias de la computacin() es la disi!lina #ue $usa esta$leer una $ase ientfia !ara el desarrollo de : -ise.o de om!utadoras" !rogramai/n de om!utadoras" !roeso de informai/n" ela$orai/n de algoritmos !ara resol&er !ro$lemas 0 el !roeso algortmio en si. Una de las !rini!a!ales la$ores del am!o de 'CC( es el desarrollo de algoritmos (Anlisis!Trans"ormacin). Podemos menionar algunos e*em!los : '1( Algoritmos !ara onstruir aero!lanos a esala" '2( Algoritmos !ara o!erar la&adoras de ro!a" '3( Algoritmos !ara toar musiales en forma de !artulas" '4(Algoritmos !ara ma#uinas de *uegos 0 '5( Algoritmos eulidianos !ara o$tener MC-. #roblema$ % $ Con*untos de !osi$les entradas &$ Con*untos de salidas !osi$les '(%,&)$ Relai/n entre entradas 0 salidas deseadas O!eraiones &alidas &olucin$ A : Algoritmo orreto Pro$lema Pro$lema Algoritmo Algoritmo Programa Programa e s A Para #ue un algoritmo !ueda omuniarse on una ma#uina de$emos re!resentarlo : &inta(is're!resentai/n( 0 &emntica'one!to #ue re!resenta(. %*em!lo: '1( %l aire es tan solo un on*unto de 4 letras '6inttia(" '2( %s una sustania gaseosa #ue rodea el !laneta '6emntia(. Un o$*eti&o de la re!resentai/n de 'A( es asegurar #ue la sinta7is refle*e on !reisi/n la semntia deseada. #rimitivas 'es una estrutura semntia $ien definida unto on una sinta7is no am$igua !ara re!resentarlo(. %structuras iterativas'Una serie de instruiones se re!iten de manera lia %*m: 8+s#ueda seuenia 0 ordenai/n(. %structuras recursivas'son una alternati&a la !aradigma lio en estruturas re!etiti&as(. %"iciencia'$usar la efiienia de los 'A( (y orreccion'e&aluar la orrei/n de la solui/n 0 su !otenial omo 9erramienta !ara resol&er !ro$lemas(. #reguntas$ Teniendo las onsideraiones anteriores 0 de las leturas de Teora de Algoritmos !lantear las !osi$les soluiones a los siguientes enuniados: )* %s un algoritmos (si) o (no) +usti"ique su respuesta en ambos casos '3Ptos( Paso 1: :aga una lista de enteros !ositi&os Paso 2: -is!onga esta lista en orden desendente Paso 3: %7traiga el !rimer entero de la lista resultante Paso 4: Pare ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ,* Un &ia*ero on una adena de oro de < esla$ones de$e #uedarse en un 9otel de Lima aislado durante < no9es. La renta !or no9e onsiste en un esla$/n de la adena* - ual es el numero mnimo de eslabones que debe cortar el via+ero para pagar al .otel un eslabn sin pagar cada maana su alo+amiento por adelantado/ '5 Ptos( ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 0* Determinar verdadero(1) o 2also(2) las siguientes e(presiones$ '2 Ptos( a. =igilania de los signos &itales de un !aiente es un !roeso #ue de$e seguir reali>ando su tarea indefinidamente. ' ( $. 6istema O!erati&o de un om!utador de$e atender las neesidades de los usuarios de la ma#uina en forma lia. ' ( 3* #roponga un algoritmo o describa las variables y los controles de "lu+o que intervendran para el problema 4'emoviendo 5ontculo a continuacin se describe$ '3 Pts( 6iem!re !ensando en la e7!erienia de !asteo de las &aas" el ?ran*ero @uan '?@( 9a enontrado #ue el de$e remo&er N montulos in&isi$les del !asti>al !ues !iensa #ue 9a0 terroristas de$a*o de ellos. Los montulos estn on&enientemente arreglados en una lnea reta 0 numerados 1...N on ada montulo teniendo alguna altura :i '1 AB :i AB 1C"CCC(. ?@ usara los e7!losi&os tradiionales !ara destruir los montulos !ero a el le gusta la emoi/n 0 !refiere usar e7!losi&os #ue estn formulados !ara destruir montulos ad0aentes en tanto estos montulos ad0aentes sean estritamente ms ortos #ue el montulo ms erano #ue est siendo destruido. La e7!losi/n !uede ontinuar !asando al montulo ms erano ad0aente al montulo ad0aente siguiente si es a+n ms orto #ue el montulo ms erano reiDn destruido. Tan !ronto omo un montulo enontrado !or la e7!losi/n no es ms orto" de*an de destruirse los montulos 9aia ese lado" el otro lado sigue las mismas reglas on uales#uiera montulos #ue a!are>an a9. 1 2 3 4 5 6 7 Por e*em!lo onsidera una lnea de nue&e montulos on estas alturas: 1 2 5 4 3 3 E E 2 6i ?@ &uela el terer montulo 'on altura 5(" entones el segundo montulo tam$iDn ser destruido 'altura 2( 0 el !rimer montulo 'altura 1( tam$iDn ser destruido. -e manera similar" el uarto montulo 'altura 4( 0 el #uinto montulo 'altura 3( sern destruidos dado #ue ellos son suesi&amente ms ortos" de*ando la lnea omo esto: F F F F F 3 E E 2 -os e7!losiones ms 'en los montulos < 0 G( destruirn el resto. #roblema$ -ados N" 0 N alturas a0ude a ?@ a determinar #ue montulos de$e e7!lotar !ara #ue use el n+mero mnimo de argas de e7!losi&os !ara destruir los montulos. onsideraciones$ N siem!re es 1 AB N AB 5C"CCC. %l IH de ?@ es de 1C 'su!o !oner $ien su nom$re(. Las alturas :i '1 AB :i AB 1C"CCC. ?@ 9a !resentado se&eros asos de es#ui>ofrenia. %ntrada$ F Lnea 1: Un solo entero" N F Lneas 2INJ1: La lnea iJ1 ontiene :;i &alida$ F Lneas 1..K: Cada lnea ontiene un entero el ual es el ndie de un montulo a ser &olado. Los ndies de$en ser mostrados en orden asendente. %NTRA-A 6ALI-A L 1 2 5 4 3 3 E E 2 3 < G ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 6* Disee un algoritmo que determine el monto a pagar por la compra de cierta cantidad de unidades de un producto y complete el nombre que le corresponde al "inal de cada lnea de instruccin con las etapas del algoritmo '3Ptos( Accion75onto7pagar 2in7Accion 8* Determinar verdadero(1) o 2also(2) Todo pseudo cdigo debe posibilitar la descripcin de$ ' ( '2 Ptos( a. Instruiones de %M6 $. Instruiones de Proeso . 6entenias de ontrol de flu*o de e*eui/n d. Aiones om!uestas 9* #roponga un algoritmo o describa las variables y los controles de "lu+o que intervendran para el problema 4ca+as a continuacin se describe$ '3 Ptos( :istoria %l enargado de )%m!resa !rodutora de art/n, deidi/ lan>ar una lnea nue&a de a*as. La lnea onsiste en una olei/n de a*as +$ias de diferentes tama.os. Como !romoi/n de lan>amiento se 9iieron !a#uetes de a*as de tal forma #ue al a$rir una !uedas enontrar otra 0 dentro de esta una ms 0 as suesi&amente 9asta a$rir la a*a ms !e#ue.a inluida en el !a#uete. -e im!ro&iso llega un liente a la f$ria !idiendo un !a#uete de lan>amientoN desafortunadamente todos los !a#uetes 0a fueron en&iados a las tiendas. -ado #ue t+ eres el res!onsa$le de armarlos deides formar uno on el ma0or n+mero !osi$le de a*as e7istentes en la f$ria. #roblema :aer un algoritmo #ue lea el tama.o de ada una de las a*as #ue 9a0 en la f$ria 0 esri$a el ma0or n+mero de a*as #ue !uede tener el !a#uete. -entro de una a*a de tama.o T !uedes meter otra de tama.o t s/lo s t A T. %ntrada La !rimer lnea de la entrada ontendr un s/lo n+mero entero n '1 O n O 1CC(. -i9o n+mero re!resenta el n+mero de asos de !rue$a !ara este !ro$lema. Cada una de las siguientes n lneas desri$ir un aso de !rue$a. %n ada aso de$es leer !rimero un entero P '1 O P O 1CCC( #ue india uantas a*as 9a0 en la f$ria 0 des!uDs leer el tama.o de ada una de las a*as. %l tama.o de ada a*a ser un entero entre 1 0 1CCC. %+emplo$ 4 11 1 2 3 4 5 E < G L 1C 11 1 1C 4 2 2 2 2 5 1 2 2 3 1C &alida Para ada aso de !rue$a de$es esri$ir una lnea de te7to on el mensa*e )%l !a#uete ma0or tiene N a*as.," siendo N el n+mero de a*as en el !a#uete ms grande. %*em!lo 'estas salidas orres!onden al e*em!lo #ue se da en %ntrada(: %l !a#uete ma0or tiene 11 a*as. %l !a#uete ma0or tiene 1 a*as. %l !a#uete ma0or tiene 1 a*as. %l !a#uete ma0or tiene 4 a*as. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;* :acer la <nvestigacin de cada uno de los temas y determinar en que consiste y poner un e+emplo* =os temas aba+o mencionados son para el e(amen de A5 **************************************************/ Nivel Bsico : 1/2 MES /**************************************************/ FUNDAMENTOS 1. Introduccin 2. El rol de los algoritmos en computacin . !reparativos ". Notacion #sintotica $. %ecurrencias &. #nlisis pro'a'il(stico ) algoritmos aleatori*ados +%,EN#-I.N / ES0#,1S0I-#S ,E +%,EN 1. Introduccin 2. +rdenacin por mont(culos . +rdenacin rpida ". +rdenamiento en tiempo lineal $. Medianas ) estad(sticas de orden /**************************************************/ Nivel Intermedio: 1 MESES /**************************************************/ ES0%2-02%#S ,E ,#0+S 1. Introduccin 2. Estructuras de datos elementales con 3i'reria Standar de !lantillas . 0a'las 4as5 ". #r'oles de '6s7ueda 'inaria &. Estructuras de datos aumentadas 8. %econocimiento de patrones 9. Su::i; tree <. tries 1=. su:i;; tries 11. >M! 12. segment trees 1. Interval 0rees 1". Binar) Inde;ed 0rees 1$. #plicacion %ange Minimum ?uer) %M? %E-+%%I,+ EN #%B+3ES 1. Bus7ueda en pro:undidad 2. Bus7ueda en #nc5ura
/**************************************************/ Nivel #van*ado: 1 MESES /**************************************************/ ES0%2-02%#S ,E ,#0+S #A#NB#,#S 1. Introduccin 2. #r'oles tipo B . Mont(culos 'inomiales ". Mont(culos de Fi'onacci $. Estructuras de datos para conGuntos dispareGos #3H+%I0M+S !#%# H%#F+S 1. Introduccin 2. #lgoritmos elementales para gra:os . #pertura m(nima de ar'oles IMinimum Spanning 0reesJ ". Menor camino desde una sola vertiente KKLdiGEstra $. Menor camino para todo par KKL :lo)d Mars5allN 'ellman :ord &. FluGo m;imo KKL :ord :ulEersonN Edmond >arp
/**************************************************/ Nivel -omplementario: /**************************************************/ 0.!I-+S SE3E-0+S 1. Heometria computacional 2. +ptimi*acion ,iGEstra con 4euristicas . #lgoritmos matematicos. ". #lgunos temas del tutorial: 5ttp://MMM.topcoder.com/tcOmodulePStaticQd1PtutorialsQd2PalgRinde; como : Minimum Cost Flow Algorithm Games Bitwise Bitwise con Dynamic Programming L. Disear el algoritmo para los siguientes problemas$ Referenia el Li$ro de Analisis de Algotimos dado en urso a. EL PROBLEMA DEL CAMBIO Suponiendo que el sistema monetario de un pas est formado por monedas de valores v1,v2,...,vn, el problema del cambio de dinero consiste en descomponer cualquier cantidad dada M en monedas de ese pas utiliando el menor n!mero posible de monedas. "n primer lu#ar, es fcil implementar un al#oritmo vido para resolver este problema, que es el que si#ue el proceso que usualmente utiliamos en nuestra vida diaria. Sin embar#o, tal al#oritmo va a depender del sistema monetario utiliado $ por ello vamos a plantearnos dos situaciones para las cuales deseamos conocer si el al#oritmo vido encuentra siempre la soluci%n %ptima& a' Suponiendo que cada moneda del sistema monetario del pas vale al menos el doble que la moneda de valor inferior, que e(iste una moneda de valor unitario, $ que disponemos de un n!mero ilimitado de monedas de cada valor. b' Suponiendo que el sistema monetario est compuesto por monedas de valores 1, p, p2, p3,..., pn, donde p ) 1 $ n ) *, $ que tambi+n disponemos de un n!mero ilimitado de monedas de cada valor. b. EL RECORRIDOS DEL CABALLO DE AJEDREZ ,ado un tablero de a-edre $ una casilla inicial, queremos decidir si es posible que un caballo recorra todos $ cada uno de los escaques sin duplicar nin#uno. .o es necesario en este problema que el caballo vuelva al escaque de partida. /n posible al#oritmo vido decide, en cada iteraci%n, colocar el caballo en la casilla desde la cual domina el menor n!mero posible de casillas a!n no visitadas. a' 0mplementar dic1o al#oritmo a partir de un tama2o de tablero n(n $ una casilla inicial 3x*,y*'. b' 4uscar, utiliando el al#oritmo realiado en el apartado anterior, todas las casillas iniciales para los que el al#oritmo encuentra soluci%n. c' 4asndose en los resultados del apartado anterior, encontrar el patr%n #eneral de las soluciones del recorrido del caballo. c. EL VIAJANTE DE COMERCIO Se conocen las distancias entre un cierto n!mero de ciudades. /n via-ante debe, a partir de una de ellas, visitar cada ciudad e(actamente una ve $ re#resar al punto de partida 1abiendo recorrido en total la menor distancia posible. "ste problema tambi+n puede ser enunciado ms formalmente como si#ue& dado un #rafo g cone(o $ ponderado $ dado uno de sus v+rtices v*, encontrar el ciclo 5amiltoniano de coste mnimo que comiena $ termina en v*. 6ara a intentar solucionarlo mediante un al#oritmo vido, nos planteamos las si#uientes estrate#ias& a' Sea 3C,v' el camino construido 1asta el momento que comiena en v* $ termina en v. 0nicialmente C es vaco $ v 7 v*. Si 6 contiene todos los v+rtices de g, el al#oritmo inclu$e el arco 3v,v*' $ termina. Si no, inclu$e el arco 3v,w' de lon#itud mnima entre todos los arcos desde v a los v+rtices w que no estn en el camino C. b' 8tro posible al#oritmo vido esco#era en cada iteraci%n el arco ms corto a!n no considerado que cumpliera las dos condiciones si#uientes& 3i' no formar un ciclo con los arcos $a seleccionados, e(cepto en la !ltima iteraci%n, que es donde completa el via-e9 $ 3ii' no es el tercer arco que incide en un mismo v+rtice de entre los $a esco#idos. d. LA ASIGNACIN DE TAREAS Supon#amos que disponemos de n traba-adores $ n tareas. Sea bij ) * el coste de asi#narle el traba-o j al traba-ador i. /na asi#naci%n de tareas puede ser e(presada como una asi#naci%n de los valores * % 1 a las variables xij, donde xij 7 * si#nifica que al traba-ador i no le 1an asi#nado la tarea j, $ xij 7 1 indica que s. /na asi#naci%n vlida es aquella en la que a cada traba-ador s%lo le corresponde una tarea $ cada tarea est asi#nada a un traba-ador. ,ada una asi#naci%n vlida, definimos el coste de dic1a asi#naci%n como& . ,iremos que una asi#naci%n es %ptima si es de mnimo coste. 6ara a dise2ar un al#oritmo vido para resolver este problema podemos pensar en dos estrate#ias distintas& asi#nar cada traba-ador la me-or tarea posible, o bien asi#nar cada tarea al me-or traba-ador disponible. Sin embar#o, nin#una de las dos estrate#ias tiene por qu+ encontrar siempre soluciones %ptimas. :"s al#una me-or que la otra; e. LOS FICHEROS Y EL DISQUETE Supon#amos que disponemos de n fic1eros f1, f2, ..., fn con tama2os l1, l2, ..., ln $ un disquete de capacidad d < l1 = l2 =... = ln. a' >ueremos ma(imiar el n!mero de fic1eros que 1a de contener el disquete, $ para eso ordenamos los fic1eros por orden creciente de su tama2o $ vamos metiendo fic1eros en el disco 1asta que no podamos meter ms. ,eterminar si este al#oritmo vido encuentra soluci%n %ptima en todos los casos. b' >ueremos llenar el disquete tanto como podamos, $ para eso ordenamos los fic1eros por orden decreciente de su tama2o, $ vamos metiendo fic1eros en el disco 1asta que no podamos meter ms. ,eterminar si este al#oritmo vido encuentra soluci%n %ptima en todos los casos. . EL CAMIONERO CON PRISA /n camionero conduce desde 4ilbao a ?la#a si#uiendo una ruta dada $ llevando un cami%n que le permite, con el tanque de #asolina lleno, recorrer n @il%metros sin parar. "l camionero dispone de un mapa de carreteras que le indica las distancias entre las #asolineras que 1a$ en su ruta. 6omo va con prisa, el camionero desea pararse a repostar el menor n!mero de veces posible. ,eseamos dise2ar un al#oritmo vido para determinar en qu+ #asolineras tiene que parar $ demostrar que el al#oritmo encuentra siempre la soluci%n %ptima !. EL FONTANERO DILIGENTE /n fontanero necesita 1acer n reparaciones ur#entes, $ sabe de antemano el tiempo que le va a llevar cada una de ellas& en la tarea iA+sima tardar ti minutos. 6omo en su empresa le pa#an dependiendo de la satisfacci%n del cliente, necesita decidir el orden en el que atender los avisos para minimiar el tiempo medio de espera de los clientes. "n otras palabras, si llamamos Ei a lo que espera el cliente iA+simo 1asta ver reparada su avera por completo, necesita minimiar la e(presi%n& . ,eseamos dise2ar un al#oritmo vido que resuelva el problema $ probar su valide, bien mediante demostraci%n formal o con un contrae-emplo que la refute. ". RECORRIDOS DEL REY DE AJEDREZ ,ado un tablero de a-edre de tama2o n(n, un re$ es colocado en una casilla arbitraria de coordenadas 3x,y'. "l problema consiste en determinar los n2B1 movimientos de la fi#ura de forma que todas las casillas del tablero sean visitadas una sola ve, si tal secuencia de movimientos e(iste. #. EL CONTINENTAL "n el solitario de mesa llamado Continental, treinta $ dos pieas se colocan en un tablero de treinta $ tres casillas tal $ como indica la si#uiente fi#ura, quedando vaca !nicamente la casilla central& /na piea s%lo puede moverse saltando sobre una de sus vecinas $ ca$endo en una posici%n vaca, al i#ual que en el -ue#o de las damas, aunque aqu no estn permitidos los saltos en dia#onal. Ca piea sobre la que se salta se retira del tablero. "l problema consiste en dise2ar un al#oritmo que encuentre una serie de movimientos 3saltos' que, partiendo de la confi#uraci%n inicial e(puesta en la fi#ura, lle#ue a una situaci%n en donde s%lo quede una piea en el tablero, que 1a de estar en la posici%n central.