7
UNIVERSIDAD NACIONAL DE SAN AGUSTIN Facultad de Ingeniería de Producción y Servicios I CONCURSO DE PROGRAMACIÓN XXII CONEIMERA 2015 Congreso y Exposición Internacional de Ingeniería Mecánica, Mecatrónica, Eléctrica, Electrónica y Ramas Afines del 5 al 9 de Octubre “Traspasando fronteras para el desarrollo tecnológico en Latinoamérica” Asociación Nacional de Estudiantes de Ingeniería Mecánica, Mecatrónica, Eléctrica, Electrónica y Ramas Afines 2015

Problemas

Embed Size (px)

DESCRIPTION

problemas

Citation preview

Page 1: Problemas

UNIVERSIDAD NACIONAL DE SAN AGUSTIN

Facultad de Ingeniería de Producción y Servicios

I CONCURSO DE PROGRAMACIÓN

XXII CONEIMERA 2015

Congreso y Exposición Internacional de Ingeniería Mecánica, Mecatrónica, Eléctrica,Electrónica y Ramas Afines del 5 al 9 de Octubre

“Traspasando fronteras para el desarrollo tecnológico en Latinoamérica”

Asociación Nacional de Estudiantes de Ingeniería Mecánica, Mecatrónica, Eléctrica,Electrónica y Ramas Afines

2015

Page 2: Problemas

PROBLEMA A: palindromo Un palíndromo es una cadena de caracteres que cuando es leída de atrás hacia adelante, es igual a lacadena original. Por ejemplo BANANAB es un palíndromo, mientras que BANANAS no. En esteproblema estamos interesados en una pregunta un poco mas interesante.

Dada una cadena S, queremos encontrar una subsecuencia que sea un palíndromo. Unasubsecuencia es una cadena que puede ser obtenida a partir de la eliminación de cero o mascaracteres de la cadena original. Por ejemplo ANNA es una subsecuencia de BANANAS.

Será dado también un conjunto de posiciones de la cadena S que llamamos posiciones especiales.Su tarea es encontrar el tamaño de la subsecuencia que sea un palíndromo y que contenga el mayornúmero de posiciones especiales posibles. En caso exista mas de una subsecuencia que maximice elnúmero posiciones especiales, deberá imprimir el tamaño del palindromo mas largo.

Entradas La entrada consiste de varios casos de prueba. La primera línea contiene una cadena de caracteresmayúsculas S con al menos 1 e como máximo 2000 caracteres. La segunda línea contiene un enteroN, 0 <= N <= |S|, indicando el número de posiciones especiales que estamos interesados en incluiren el palíndromo, seguido de N números distintos, entre 1 y S, inclusive, conteniendo las posicionesespeciales de S. \\\\

Salidas Para cada caso de entrada su programa debe imprimir un único entero, representando el tamaño delpalíndromo mas largo posible, como definido anteriormente.

Ejemplo de Entrada BANANAS 0 BANANAS 1 7 ACDAAACX 3 2 3 8 MARATONA 4 3 1 5 2

Ejemplo de Salida 5 1 3 3

Page 3: Problemas

Problema B: Michael y laSecuencia

Michael tiene una secuencia de enteros A. Se tienen que elegir dos subsecuencias disjuntascontiguas de A, digamos X e Y, de mismo tamaño, N.

Después se tendrá que calcular la suma dada por: ∑ x i yn−i−1

Michael le pide que seleccione dichos X e Y que maximicen la suma dada anteriormente.

Entradas La entrada contiene múltiples casos de prueba. La primera línea de cada caso de prueba contiene N,2 <= N <= 3000, que denota el tamaño de A. La segunda línea contiene N enteros, denotando todoslos elementos de A. Cada elemento de A estará en el rango de: -10^6 <= Ai <=10^6.

Salidas Para cada caso de entrada su programa debe imprimir un único entero, representando la sumamáxima que se puede obtener de A bajo las condiciones descritas anteriormente.

Ejemplo de Entrada 12 1 7 4 0 9 4 0 1 8 8 2 4

Ejemplo de Salida 120

Explicación:x={4,0,9,4} y={8,8,2,4}suma = 4 * 4 + 0 * 2 + 9 * 8 + 4 * 8 = 120.

Page 4: Problemas

Problema C: Complemento AritméticoEl complemento aritmético de un número M positivo es igual a lo mínimo que se le puede sumar aese número M para que el número de sus cifras aumente en uno.

Por ejemplo el complemento aritmético de 30 es 70, por que es lo mínimo que se le puede sumara 30 para este suba de dos a tres cifras.

Dada una cadena que representa un entero que puede tener hasta 1000 dígitos, imprimir sucomplemento aritmético

EntradaLa entrada empezará con un entero N indicando el número casos de prueba, a continuaciónhabrán N líneas cada una de las cuales contendrá un sólo entero positivo de hasta 1000 dígitos.

SalidaPara cada caso de prueba, deberá imprimir el complemento aritmético de ese número, sin ceros a la izquierda.

Ejemplo de Entrada330 899999999999999999999999999999

Ejemplo de SalidaCaso #1: 70 Caso #2: 2Caso #3: 1

Page 5: Problemas

Problema D: Elecciones ParlamentariasEl Congreso de la República de la Atlántida estaba constituido por 120 congresistas querepresentan a todas las regiones de aquel vasto país. Cada región de la Atlántida, elige un númerodeterminado de congresistas de acuerdo a los siguientes criterios:

● Equidad, por lo que cada región tendrá al menos un representante. ● Distribución proporcional, de acuerdo al número de electores de cada región, de los

congresistas que sobren después de haber cumplido con el primer criterio. De acuerdo a lasiguiente fórmula.

Redondear (KT

∗C )

Donde K es el número de electores de una región y T el número total de electores de todaslas regiones. C es el número total de congresistas menos los asignados por el criterio deequidad.

Así las regiones con más electores tendrán una mayor representación que las regiones conmenos electores, pero todas elegirán al menos un congresista.

Pero recientemente el congreso determinó que se necesitaban 10 congresistas adicionales, asíque el mismo congreso aprobó una reforma constitucional, para que ahora el número total decongresistas sea 130.

Teniendo en cuenta que, con el pasar de los años el número de regiones puede variar, así cómo elnúmero de electores en cada una de estas; se le ha pedido que cree un programa, que reciba elnúmero total de congresistas y el número de electores por cada región y determine la cantidad decongresistas que serán elegidos en cada región.

EntradaLa entrada empezará con un número entero positivo N, indicando el número de casos de prueba,cada uno de los cuales empezará con una línea conteniendo dos enteros R y C (2 < R < C <2536), que representarán el número total de congresistas y el número total de regiones,respectivamente. A continuación, el caso de prueba tendrá R líneas conteniendo los nombres decada región así como el número de sus electores K, el nombre de las regiones tendrá una solapalabra y el número de electores será un entero positivo menor a 50000. Para el nombre de lasregiones sólo considera caracteres del alfabeto inglés.

SalidaPara cada caso de prueba la salida consistirá de un listado de R cadenas, cada una de las cualescontendrá el nombre de una región seguido de la cantidad de congresistas que le corresponde.Este listado debe estar en orden alfabético. Después del listado se deberá incluir una cadenasadicional indicando el número total de congresistas asignados en todas las regiones. Note que eltotal de congresistas asignados en todas las regiones puede diferir del total de congresistasdisponible.

Page 6: Problemas

Ejemplo de Entrada13 2Loreto 20000Pucallpa 10000

Ejemplo de SalidaCaso #1: Loreto 2, Pucallpa 1, Total 3

Page 7: Problemas

Problema E: RomanosUno de los principales limitantes para el desarrollo de la matemática en el imperio Romano fue eluso de su extraño sistema de numeración. Por ejemplo los números del 1 al 20 tendrían estarepresentación:

I, II, III, IV, V, VI, VII, VIII, IX, X, XI, XII, XIII, XIV, XV, XVI, XVII, XVIII, XIX, XX

El algoritmo de la suma para estos números podría ser difícil de programar.

Su tarea consistirá en programar un algoritmo que sume dos números romanos y de la respuestaen números romanos. Para facilitar su tarea los números romanos a sumar estarán entre el valoruno y diez.

EntradaLa entrada empezará con una línea contiendo un número N, indicando el número de casos deprueba. Cada caso de prueba contendrá dos números romanos separados por un espacio enblanco.

SalidaPor cada caso de prueba, se deberá mostrar el resultado de la suma en números romanos.

Ejemplo de Entrada2I IVIX IX

Ejemplo de SalidaCaso #1: VCaso #2: XVIII