Concurso Escolar de Programación 2014 Capítulo Estudiantil ACM UCSP 6 de Diciembre del 2014
A. Árbol de Navidad La navidad está cerca y todo el mundo ha comenzado a hacer los preparativos. Este año, Natasha debe armar el árbol de navidad que colocará en la sala de su casa. Puedes ayudarla? Un árbol de navidad está compuesto por n triángulos, donde el primero tiene una base de longitud 3, el siguiente de longitud 5, el siguiente de longitud 7 y así sucesivamente. Aquí tienes un ejemplo para n = 4: La entrada consiste de una única línea que contiene el entero n (1 n 10). Imprime un árbol de navidad con n triángulos. Nota que no deben haber espacios al final del último asterisco en cada línea. Ejemplo 3 1
B. Henry y los triángulos Henry estaba un día muy aburrido y se puso a pensar en triángulos. Un pregunta invadió su mente: Es posible formar un triángulo rectángulo con 3 números dados a, b y c? La entrada consiste de una única línea que contiene 3 enteros a, b y c (0 a b c 10 4 ), separados por un espacio. Debes imprimir una línea conteniendo SI o NO según sea posible o no armar un triángulo rectángulo con los números dados. Ejemplo 1 3 4 5 SI Ejemplo 2 3 6 8 NO 2
C. Pizza Los miembros del Capítulo Estudiantil ACM de la UCSP, después de sus reuniones mensuales, van siempre a comer pizza. Contrariamente a lo que se podría pensar, todos concuerdan en ir siempre a la misma pizzería. El problema es que en esta pizzería siempre cambian el número de piezas que trae cada pizza familiar. Además, no siempre asisten a la reunión la misma cantidad de miembros. Por ello, el Capítulo requiere de un programa que les ayude a calcular el mínimo número de pizzas que deben pedir para que todos coman la misma cantidad de piezas (sin dividirlas), dado que cada pizza consiste de n piezas y asisten m miembros a la reunión. La entrada consiste de una única línea que contiene los enteros n y m (1 n 10, 1 m 100) Debes imprimir una única línea conteniendo un único entero: el mínimo número de pizzas que deben comprar según las restricciones dadas. Ejemplo 8 6 3 Explicación En 3 pizzas hay 24 piezas. Cada miembro comería 4 piezas. 3
D. Arma tu Look Jessenia quiere renovar su armario. Para ello, se dirigió a su centro comercial favorito CEP (Comercio, entretenimiento y pizza). Allí encontró una gran promoción llamada Arma tu look. Para los n paquetes que Jessenia quiere llevar, cada uno con su propio precio P i, ella deberá hacer lo siguiente: En cada paso tomará 2 paquetes y pagará el precio del menor. Los 2 paquetes formarán uno solo con un precio equivalente a la suma de ellos. El proceso se repite hasta que solo quede un paquete, el cual ya se lo puede llevar sin pagar más. Ella se dio cuenta que el monto total que pague dependerá del orden en que junte los paquetes. Sabiendo de tu gran capacidad algorítmica, Jessenia te ha pedido que la ayudes. La primera línea contiene el entero n (1 n 10 5 ), el número de paquetes. La segunda línea contiene n enteros P i (1 P i 100), separados por un espacio: el precio de cada paquete. Debes imprimir una única línea conteniendo un único entero: el mínimo precio que Jessenia puede llegar a pagar para llevarse todos los paquetes. Ejemplo 4 3 8 6 5 14 Explicación Si Jessenia junta el 2do y 3er paquete, paga 6 y obtiene un paquete de precio 14. Luego puede unir éste con el paquete de precio 5, pagando 5 y obteniendo un paquete de tamaño 19. Finalmente, une éste con el paquete de precio 3, pagando 3. En total, pagó: 6 + 5 + 3 = 14. 4
E. Halloween Andrea y Juan salen cada Halloween a pedir dulces. Este año ellos piensan consiguir muchos dulces, pero a ambos les encanta los chocolates. Ninguno de los dos tiene la intención de compartir los chocolates con el otro, por eso siempre juegan un pequeño juego y el perdedor se queda sin chocolates. El juego consiste en poner en una torre los chocolates obtenidos. En el primer turno, Andrea (Ella siempre iniciará el juego) puede quitar cualquier número de chocolates de la torre, siempre que este número sea mayor a cero y menor al número de chocolates que hay en la torre. Luego de esto, ellos alternaran movimientos. En cada turno, el jugador debe quitar cualquier número mayor a cero de chocolates (incluso toda la torre), pero no podrá quitar un número de chocolates igual al de un movimiento anterior (de ambos jugadores). El jugador que no pueda realizar un movimiento pierde. Andrea sabe que Juan siempre jugará de una manera óptima, pues es muy astuto. Pero ella ya ha contado los chocolates que han recolectado, así que podría saber si tiene alguna opción de ganar o, en caso contrario, le dirá a Juan que es muy tarde y que deberían repartirse los chocolates equitativamente. La entrada consiste de un único entero n (1 n 10 9 ), el número de chocolates. Deberás imprimir el nombre del jugador que gana (Andrea o Juan) si ambos juegan de forma óptima. Ejemplo 1 4 Juan Explicación Si Andrea toma 1, Juan toma 3 y gana. Si Andrea toma 2, Juan toma 1 y gana (ya no le quedan movimientos a Andrea). Si Andrea toma 3, entonces Juan toma 1 y gana. En conclusión, Andrea no tiene ninguna opción de ganar. Ejemplo 2 6 Andrea 5
F. Enepelanders Los ciudadanos de Algoritmilandia son personas muy pacíficas a las que les encanta resolver problemas. Sin embargo, los enepelanders no lo son. A decir verdad, siempre que dos de ellos se encuentran, terminan peleando por querer reducir al otro, como ellos arguyen. Lamentablemente, solo ellos pueden garantizar la seguridad de las calles de Algoritmilandia. Un enepelander se coloca en una esquina y puede vigilar todas las calles y esquinas adyacentes. Ninguna calle puede estar vigilada por dos enepelanders porque pelearían. Dada esta información, los ciudadanos de Algoritmilandia te han pedido ayuda para saber si es posible tener las calles de su ciudad vigilada sin que los enepelanders puedan pelear y con el menor número de enepelanders posible. La primera línea contiene dos enteros v (1 v 200) y e (0 e 10000). v es el número de esquinas de la ciudad y e es el número de calles. Cada una de las siguientes e líneas contiene 2 enteros s, t que indican que existe una calle entre las esquinas s y t. Las esquinas están numeradas de 0 a v 1. Nota Algoritmilandia es una ciudad un poco rara: a veces encuentras esquinas sin calles. Deberás imprimir un único entero m, indicando el mínimo número de enepelanders necesarios para vigilar todas las calles y esquinas de Algoritmilandia o -1 si no es posible colocar los guardias sin que se peleen. Ejemplo 1 4 2 0 1 0 2 2 Explicación Los enepelanders deben estar en los nodos marcados en negro: 6
Ejemplo 2 5 5 0 1 1 2 2 3 0 4 3 4-1 7