Vous êtes sur la page 1sur 13

4o

Concurso de

Programacin

PROBLEMARIO 2010

Divisin de Ingeniera en Sistemas Computacionales Instituto Tecnolgico Superior de Lerdo Club de Programacin

CONDICIONES

a) Para cada problema debers crear un directorio (carpeta) cuyo nombre ser: Problema1, problema2 Problema10 segn corresponda. b) A cada archivo de cdigo fuente le debers nombrar Problema1, problema2 Problema10 segn corresponda. c) A los archivos que utilices de entrada les nombrars Input.txt d) A los archivos que utilices de salida les llamars Output.txt e) Puedes usar los siguientes lenguajes: C, C++, Java,C#; en modo consola estrictamente. f) Al terminar tu jornada debers entregar tus cdigos en un CD que se te proporciona junto con este Problemario, etiquetando el CD con el nombre de tu equipo.

Problema 1 Cedula en Ecuador


La cedula en Ecuador, es uno de los documentos ms importantes que tiene una persona. Por este motivo es muy importante que todo sistema informtico que maneje la misma sea capaz de reconocer si la cedula es vlida.

La cedula consta de 10 dgitos, el ltimo digito es un digito de control.

Para reconocer si una cedula es verdadera se debe seguir el siguiente procedimiento:

Comprobar que la cedula tiene 10 dgitos y que estos sean numricos. De no ser as no es correcta. Sumar los dgitos de los lugares pares. Multiplicar por dos los dgitos de los lugares impares y sumarlos. (Si al multiplicar por dos un digito impar, la multiplicacin es mayor que 9, se debe restar 9 a la multiplicacin obtenida) Sumar los dos resultados obtenidos anteriormente. Buscar la decena igual o superior y restar la suma obtenida a esta decena. Comprobar que el dgito de control que hemos calculado y el ltimo dgito del de la cedula coinciden, de lo contrario no es vlida.

Problema 2 Pesca

Historia Limo se ha ido de pesca y ha observado que los peces se encuentran distribuidos a lo largo de un lago. El tiene una red de tamao nxm. Un pez es atrapado si se encuentra en el rea en donde Limo tire la red. Ayuda a Limo a decidir donde tirar su red. La red siempre cubre una superficie de n unidades en la vertical y m en lo horizontal (Limo no sabe tirarla de otra manera). Problema Dado un arreglo de 0 k 1000 puntos de coordenadas enteras 0 xi , yi 10000. Hallar el mayor nmero de peces que puede atrapar Limo con su red de nxm con 1 n 10000 y 1 m 10000. Entrada El archivo de entrada consiste en k+1 lneas. La primera lnea contiene tres enteros n, m y k. En las siguientes k lneas vienen las coordenadas de los peces en formato (X,Y). Salida El archivo de salida consiste en una nica lnea con un solo entero que indica el nmero mximo de peces que puede atrapar Limo con su red. Ejemplo Entrada 435 00 01 21 44 10 0 Ejemplo Salida 3

Problema 3

Palindrom Numbers

We say that a number is a palindrom if it is the same when read from left to right or from right to left. For example, the number 75457 is a palindrom. Of course, the property depends on the basis in which the number is represented. The number 17 is not a palindrom in base 10, but its representation in base 2 (10001) is a palindrom. The objective of this problem is to verify if a set of given numbers are palindroms in any basis from 2, 10 and 16. Input Several integer numbers comprise the input. Each number 0 < n < 50000 is given in decimal basis in a separate line. The input ends with a zero. Output Your program must print the message `Number i is palindrom in basis' where i is the given number, followed by the basis where the representation of the number is a palindrom. The leftmost digit of a number in any basis must be nonzero. If the number is not a palindrom in any basis between 2 and 16, your program must print the message `Number i is not palindrom'.

Sample Input 17 19 0

Sample Output Number 17 is palindrom in basis 2 16 Number 19 is not palindrom

Problema 4 Reynas

El problema de las ocho reinas consiste en encontrar una disposicin de ocho reinas en un tablero de ajedrez de tal manera que ninguna de ellas amenace a ninguna otra (en el juego del ajedrez una reina amenaza a cualquier pieza que le sea accesible mediante un desplazamiento horizontal, vertical o diagonal de cualquier nmero de casillas). Desarrollar un programa que nos muestre en pantalla la disposicin de las reinas. Tras resolver el problema, intentar generalizarlo a los casos siguientes:

Colocar N reinas sobre un tablero de N filas y N columnas. Encontrar no solo una solucin, sino todas las soluciones posibles, mostrndolas sucesivamente en pantalla. Elaborar un programa que nos diga el nmero de soluciones existentes para los tableros de dimensiones desde 4 x 4 hasta 11 x 11.

Problema 5 Sin comentarios


Escribir un programa que permita ingresar un texto y luego lo reescriba eliminando los comentarios, entendiendo por comentario todo aquel texto que aparece entre parntesis.

As al ingresar el siguiente texto: Juan (mi mejor amigo) regresa a la Argentina el da 20. Se debe reescribir: Juan regresa a la Argentina el da 20.

Debe tenerse en cuenta que los comentarios pueden estar "anidados", como por ejemplo en el siguiente texto:

Carlos (el hermano de Juan (mi mejor amigo) que regresa a la Argentina el da 20) ir a esperarlo al aeropuerto.

En este caso, el programa debe producir la siguiente "salida": Carlos ir a esperarlo al aeropuerto.

Problema 6 Harmonic Mean

The harmonic mean (HN ) of N numbers a1, a2, a3...aN-1, aN is defined as below:

HN = So the harmonic mean of four numbers a , b , c , d is defined as

H4 =

In this problem your job is very simple: given N (0 < N < 9 ) integers you will have to find their harmonic mean. Input The first line of the input file contains an integer S ( 0 < S < 501 ), which indicates how many sets of inputs are there. Each of the next S lines contains one set of input. The description of each set is given below: Each set starts with an integer N (0 < N < 9 ), which indicates how many numbers are there in this set. This number is followed by N integers a1, a2, a3...aN-1, aN ( 0 < ai < 101 ). Output For each set of input produce one line of output. This line contains the serial of output followed by two integers m and n separated by a front slash. These two numbers actually indicate that the harmonic mean of the given four numbers is m n . You must ensure that gcd(m, n) = 1 or in other words m and n must be relative prime. The value of m and n will fit into a 64-bit signed integer.

Sample Input 2 41234 42231 Sample Output Case 1: 48/25 Case 2: 12/7

Problema 7 Acomodando una pila de hotcakes


Jos es muy buen cocinero, pero es un poco desordenado. Por ejemplo, cuando hace hotcakes todos le quedan de tamaos distintos. Como al final debe darle una buena presentacin a todo lo que sirve, con frecuencia tiene que volver a acomodar el platillo que ha preparado. En el caso de los hotcakes l desea que queden apilados de modo que los ms pequeos queden encima de los ms grandes. Como no va a usar las manos para acomodarlos (uno imaginara que las tiene limpias... seguro es porque los hotcakes estn calientes) decide usar una pala de la siguiente manera: mete la pala abajo de cierta cantidad de hotcakes y de un solo movimiento los voltea de modo que quedan exactamente en el orden inverso de como estaban. Por ejemplo, si prepar n = 7 hotcakes y sus tamaos respectivos son 3, 1, 4, 2, 5, 7 y 6 (de arriba hacia abajo en la pila) entonces puede meter la pala bajo los primeros 4 hotcakes y voltearlos, de modo que ahora quedan en el orden 2, 4, 1, 3, 5, 7 y 6. Escribe un programa que le ayude a Jos a acomodar sus hotcakes en tan pocos movimientos m como sea posible.

Entrada: Un nmero entero n con 1 n 10 seguido de n nmeros enteros distintos a1, a2, ..., an separados por espacios y en el intervalo de 1 a 100.

Salida: Un nmero entero m 2n seguido de m enteros b1, b2, ..., bm separados por espacios, indicando bajo cuntos hotcakes se meti la pala en cada movimiento.

Evaluacin: 1 punto si m 2n y los m movimientos indicados dejan la pila de hotcakes en orden de menor a mayor. En ese caso, 5M/m puntos adicionales, donde M es la cantidad mnima de movimientos necesaria para acomodar la pila de hotcakes.

Ejemplo de entrada 7 3142576

Ejemplo de salida 8 67653423

Problema 8 Boletos por besos


Para ir hacia su escuela, Juan aborda un camin. Cuando Juan sube al camin y deposita las monedas en la alcanca, el conductor le da un boleto con un nmero de serie consecutivo, el cual generalmente llega a la basura. Sin embargo, un da el se entera de algo interesante. Si la suma de los dgitos de dicho boleto es 21, l lo puede cambiar con quien quiera por un beso. Juan quiere conseguir muchos besos de la persona que est enamorado y ella ha aceptado drselos a cambio de dichos boletos, pero no es tan fcil conseguirlos. Juan ha decidido que si el boleto que le da el conductor no suma 21 esperar hasta que el de una persona que suba despus de l sume 21, y le pedir a esta su boleto, para lo cual debe ir realizando las cuentas a mano, cosa que es muy tediosa. Ayuda a Juan escribiendo un programa que dado un nmero n de 7 dgitos, le proporcione el nmero p de personas que deben abordar despus de l para que obtenga el boleto deseado y m, donde m representa los 7 dgitos de dicho boleto. Cuando un tiraje de boletos termina, es decir llega a 9999999, el conductor toma otro tiraje comenzando nuevamente en el nmero 0000000. Entrada: Un nmero entero n de 7 dgitos (que posiblemente comienza con ceros). Salida: Un nmero entero p y un nmero m de 7 dgitos. Evaluacin: 2 puntos por el valor correcto de p y 2 puntos por el valor correcto de m.

Ejemplo de entrada 0031416

Ejemplo de salida 33 0031449

Problema 9 Secuencia creciente mxima

Sea n un entero positivo y sea a1, a2, ..., an una secuencia de n enteros positivos. Sean h y k dos enteros con 1 h k n. Decimos que ah, ah+1, ..., ak es una secuencia creciente si ah < ah+1 < ... < ak y decimos que es mxima si no es parte de otra secuencia creciente ms larga. Por ejemplo, si n = 7 y a = (3, 1, 4, 1, 5, 9, 2) entonces (1, 5) es una secuencia creciente, pero no es mxima porque es parte de (1, 5, 9). Escribe un programa que encuentre la longitud s de la secuencia creciente mxima ms larga de todas y la posicin p donde inicia. Entrada: Un nmero entero n con 1 n 1000 seguido de n nmeros enteros a1, a2, ..., an separados por espacios y en el intervalo de 1 a 1,000,000.

Salida: Un nmero entero s y un nmero entero p.

Evaluacin: 1 punto por el valor correcto de s y 1 punto si p es correcto.

Ejemplo de entrada 7 3141592

Ejemplo de salida 34

Problema 10 rea de la interseccin de dos rectngulos

Considere que tiene dos rectngulos con lados paralelos a los ejes de coordenadas: uno con vrtices opuestos (u, v) y (x, z) y el otro con vrtices opuestos (p, q) y (r, s). Escribe un programa que calcule el rea a de la interseccin de esos dos rectngulos. Por ejemplo, si un rectngulo tiene vrtices opuestos (3, 1) y (1, 4) y el otro tiene vrtices opuestos (2, 7) y (1, 2) entonces su interseccin tiene rea a = 2.

Entrada: Ocho nmeros enteros u, v, x, z, p, q, r y s separados por espacios y todos ellos en el intervalo de 0 a 1,000,000.

Salida: Un nmero entero a.

Evaluacin: 3 puntos por el valor correcto de a.

Ejemplo de entrada

Ejemplo de salida

31142712

Vous aimerez peut-être aussi