Download Examen de C
Document related concepts
no text concepts found
Transcript
Olimpiada de Informática del Estado de Jalisco Ciclo Olímpico 2012 Etapa 3 CATEGORIA UNIVERSITARIA PROBLEMA: BUSCANDO (buscando.cpp o buscando.c) PROBLEMA Dado un número entero 1≤ N ≤ 100,000,000 y un lista de M números enteros 3 ≤ Mi ≤ 50,000 Encuentra un conjunto de 3 números de la lista, tales que su suma sea igual al número N. ENTRADA Tu programa deberá leer de teclado el numero a buscar N en al primer linea, en la segunda línea el número M y en las siguientes M líneas los números de la lista. SALIDA Tu programa deberá obtener como resultado tres números de la lista dada tales que su suma sea igual al número N. Los tres números deberán estar escritos en la misma línea, separados cada uno por un espacio. NOTA: En el caso de que exista más de una solución, tu programa solo deberá escribir una de ellas. EJEMPLO Entrada 25 10 15 8 1 4 18 3 32 12 4 10 Salida 4 18 3 Olimpiada de Informática del Estado de Jalisco Ciclo Olímpico 2012 Etapa 3 PROBLEMA: WORSE (worse.cpp o worse.c) La Organización Mundial de Información Justicia Armamento y Legalidad (OMIJAL) dirigida por el Dr. Doofenshmirtz tiene secuestrado a Karel en sus cuarteles centrales. Tú, agente ‘P’, tendrás que descifrar la contraseña de la puerta donde tienen secuestrado a Karel para después traerlo a salvo a Guadalajara. Hemos estudiado la contraseña de la puerta y después de mucho estudiarla nos dimos cuenta que nos permite escuchar un “recordatorio de la contraseña”. Este recordatorio está en lenguaje Worse donde se repite siempre una cantidad N de veces la palabra “wo”, esta cantidad de veces representan las letras que hay que presionar en el teclado para abrir la puerta, sabemos la cantidad de veces que repite “wo” para representar cada una de las letras entre a y z, y tenemos una lista de K palabras que pudieran ser la contraseña. Por ejemplo si sabemos que la a es “wo” 1 vez, b es “wo” 2 veces y c es “wo” 3 entonces wo wo wo wo wo wo wo (7 veces wo) presenta la cadena abc. Problema Dada la lista de palabras que pueden ser la contraseña que abre la puerta, la cantidad de veces que se dice “wo” para cada letra y la cantidad de veces que se dice “wo” en el recordatorio de la contraseña, deberás decir cuales palabras dentro de la lista pudieran abrir la puerta. Entrada En la primera línea de entrada tendrás dos números enteros K y N. Las siguientes K líneas serán las K palabras que sospechamos son contraseña. Las siguientes 27 líneas contienen la cantidad de veces que se dice “wo” por la i-ésima letra. (La primera de estas líneas es cuantas veces se dice “wo” por la a, la segunda es cuantas veces se dice “wo” por la b y asi sucesivamente hasta la z) Salida La salida será una lista de palabras que dicen tantos “wo” como el recordatorio y por tanto pudieran abrir la puerta. Ejemplo Entrada 57 hola worse karel abc uno 1 2 4 5 Salida abc Olimpiada de Informática del Estado de Jalisco Ciclo Olímpico 2012 Etapa 3 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Olimpiada de Informática del Estado de Jalisco Ciclo Olímpico 2012 Etapa 3 PROBLEMA: WORSE RELOAD (worser.cpp o worse.c) (Si no entiendes el contexto del problema, lee el problema worse primero) Has abierto la puerta y te has encontrado con Karel, ¡felicidades!, ahora tendrás que traerlo a casa. Entendemos que tu situación es crítica dado que has sido capturado y han cambiado la contraseña, para poder salir necesitarás obtener una lista de palabras que coincidan con la cantidad N de “wo” que la puerta dice, sabemos que la cantidad de diferentes palabras con esta cantidad de “wo” pueden ser muchas así que para poder entregarte una lista de posibles contraseñas como lo hicimos anteriormente necesitamos que nos digas cuantas palabras podrían ser aceptadas por la puerta. Problema Dados la cantidad N de “wo” que dice el recordatorio de la puerta para poder abrirla, y la cantidad de “wo” que se dice por cada letra del abecedario debes decir cuantas palabras diferentes podrían abrir la puerta. Entrada La primer línea tendrá un número N (1<=N<=100000). Las siguientes 27 líneas contienen la cantidad de veces que se dice “wo” por la i-ésima letra. (La primera de estas líneas es cuantas veces se dice “wo” por la a, la segunda es cuantas veces se dice “wo” por la b y asi sucesivamente hasta la z) Salida Un único número entero que indique cuantas palabras diferentes pudieran abrir la puerta módulo 1000000. Ejemplo Entrada 4 1 2 4 7 8 9 10 11 12 13 14 15 Salida 6 Olimpiada de Informática del Estado de Jalisco Ciclo Olímpico 2012 Etapa 3 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Detalles de la salida: La entrada especifica que la puerta dira 4 veces “wo” como recordatorio. La letra a es 1 “wo”, la b son 2 “wo”, la c son 4 “wo”, la d son 7 “wo” etc, …. Las palabras “c”,”bb”,”aaaa”,”aab”,”aba”,”baa” requerirían de 4 “wo” para ser mencionadas en worse, asi que estas 6 serian las palabras como posibles contraseñas.