1. ACM CHAPTER CUSCO 2011
Universidad Nacional de San Antonio Abad
del Cusco
Carrera Profesional de Ingeniería Informática y de
Sistemas
“1er CUSCONTEST”
23 de Julio del 2011
Este conjunto de problemas contiene 10 problemas, paginas esta
numeradas de 2 a 17
Organizado por: ACM Chapter Cusco y DAI-UNSAAC
CUSCO-PERU
1
2. A. Coin Machine Games
En un palacio Arcade, existen varias máquinas de juegos que te gusta jugar.
Cada juego en una maquina cuesta una determinada cantidad de fichas. Sin
embargo, estas maquinas tienen una peculiaridad: después de cada juego,
estas te devuelven una cierta cantidad de fichas. Tu quieres saber cuántos
juegos como máximo puedes jugar con las fichas que tienes (Se puede jugar
varias veces en una misma máquina).
Entrada
La primera línea de entrada será la cantidad de casos de prueba
T(1<=T<=200). Luego los T casos tendrán el siguiente formato:
La primera línea de cada caso contiene un entero N indicando el numero de
fichas que se tiene al principio (1<= N <= 10^9)
La segunda línea de cada caso contiene un entero indicando el numero de
maquinas M(1<= M <=50)
En la tercera línea se leerán M números a1,a2,a3,…,aM (1<= ai <=10^3)
separados por espacios en blanco que representarán los valores que se
necesita para jugar en cada máquina.
En la cuarta línea se leerán M números b1,b2,b3,…,bM (1<= bi <=10^3 & bi
<ai) separados por espacios en blanco que representarán los valores que te
devuelve cada maquina
Salida
Para caso de prueba imprimir en una línea un simple número indicando el
máximo número posible de juegos que puedes jugar.
Ejemplo de Prueba
Entrada
4
10
2
5 3
4 1
1000
4
16 14 11 7
15 12 8 3
1000000000
10
1000 900 800 700 600 500 400 300 200 100
701 802 503 604 405 306 107 208 1 1
12345678
10
342 234 65 76 85 734 67 345 70 234
2
3. 45 78 3 10 45 12 45 57 1 230
Salida
7
988
10869564
3086370
Aclaración
Para el caso de prueba 1: Hay muchas formas de obtener 7 juegos en total.
Una de ellas es jugar 5 veces en la primera máquina y 2 veces en la segunda
maquina.
3
4. B. Lucky Numbers
John cree que los dígitos 4 y 7 dan suerte, y los demás no. Un número positivo
es llamado número de la suerte si su último digito da suerte.
Por ejemplo, 4, 14 y 207 son números de la suerte, mientras 40, 741 y 3 no lo
son. A John le gustaría representar un número entero N como la suma de
números de la suerte, y le gustaría hacerlo usando la mínima cantidad posible
de números.
Entrada
La primera línea será la cantidad de casos de prueba T (1 <= T <= 100).
Las siguientes T líneas contienen un numero entero N (1 <= N <= 10^9).
Salida
Para cada caso de prueba escribir en una línea el mínimo número de
sumandos para representar N (-1 si es imposible).
Ejemplo de Prueba
Entrada
4
99
11
13
1234567
Salida
4
2
-1
1
Aclaración
Caso 1: Una de las posibles representaciones es 99= 14+14+17+34
Caso 2: 11=4+7
Caso 3: Es imposible representar 13 como la suma de números de la suerte.
4
5. C. Triangulo de Números
Vea el triangulo de números mostrado abajo. Se quiere saber cuál es la mayor
suma de números que pasan a través de una ruta que empieza en la cima y
termina en la base del triangulo. En cada paso se puede ir diagonalmente abajo
a la derecha o izquierda.
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
En el ejemplo mostrado, la ruta 7 >> 3 >> 8 >> 7 >> 5 produce la mayor suma:
30.
Entrada
La primera línea será la cantidad de casos de prueba T (1<= T <=10).
Para cada caso se presenta lo siguiente:
La primera línea de cada caso contiene un numero entero R (1 <= R <=
500) indicando el número de filas.
Las siguiente R líneas contienen los números para cada fila
correspondiente del triangulo separados por un espacio. El rango de
cada número entero varía entre [0, 100].
Salida
Para cada caso escribir en una línea la mayor suma lograda por las rutas.
Ejemplo de Prueba
Entrada
3
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
5
7. D. Two Squares or not Two Squares
Dado un número X debes determinar si es posible representar este como la
suma de dos números al cuadrado.
Entrada
La primera línea contiene un número N (número de casos de prueba), las
siguientes N líneas contiene un numero X (0<=X<2 000 000 000).
Salida
Para cada caso de prueba imprimir en una línea YES si el numero X puede ser
expresado como una suma de cuadrados en caso contrario mostrar NO.
Ejemplo de Prueba
Entrada
10
1
2
7
14
49
9
17
76
2888
27
Salida
YES
YES
NO
NO
YES
YES
YES
NO
YES
NO
7
8. E. Cube Free Numbers
Un “Cube Free Number” es un número el cual ninguno de sus divisores es un
cubo (como 8(2*2*2), 27(3*3*3)). Por tanto los “Cube Free Numbers” son
1,2,3,4,5,6,7,9,10,11,12,13,14,15,17,18, etc (consideraremos 1 como un “Cube
Free Number”). Por lo tanto la posición de 1 entre los números libres de cubos
es 1 la posición de 2 es 2, de 3 es 3 y la posición de 10 es 9.
Dado un número positivo N , debes de determinar si este es un “Cube Free
Number” y si lo es entonces indicar su posición entre los “Cube Free Numbers”.
Entrada
La primera línea del caso de prueba será el número de casos de prueba
T(1<=T<=10^5).
Las siguientes T líneas contienen un numero entero N(1<=N<=10^6).
Salida
Para cada caso de prueba, mostrar una línea que contenga “Case K: ”,donde K
es el número de caso de prueba. Si este no es un “Cube Free Number”
entonces mostrar “Not Cube Free”; caso contrario mostrar su posición entre
los “Cube Free Numbers”.
Ejemplo de Prueba
Entrada
10
1
2
3
4
5
6
7
8
9
10
Salida
Case 1: 1
Case 2: 2
Case 3: 3
Case 4: 4
Case 5: 5
Case 6: 6
Case 7: 7
Case 8: Not Cube Free
Case 9: 8
Case 10: 9
8
9. F. Easier Done than Said?
Es difícil pensar en una contraseña segura. Los usuarios prefieren contraseñas
simples que son fáciles de de recordar (amigables), pero tales contraseñas son
a menudo muy inseguras. En algunos lugares usan generadores aleatorios de
contraseñas (como xvtpzyo), pero los usuarios tienen un difícil momento
recordándolas. Una potencial solución es generar contraseñas “pronunciables”
que sean relativamente seguras pero de todas maneras fáciles de recordar.
FnordCom está desarrollando un generador de contraseñas.
Tú trabajas en el departamento de control de calidad, y tu trabajo probar el
generador y asegurarse de que las contraseñas sean aceptables. Para ser
aceptable, una contraseña debe satisfacer las siguientes reglas:
1. Debe contener al menos una vocal.
2. No puede contener tres vocales consecutivas o tres consonantes
consecutivas.
3. No puede contener dos ocurrencias consecutivas de la misma letra,
salvo 'ee' o 'oo'.
(Para los propósitos de este problema, las vocales son 'a', 'e', 'i', 'o', y 'u'; todas
las demás letras son consonantes.) Note que estas reglas no son perfectas, ya
que son varias las palabras comunes/pronunciables que no son aceptables.
Entrada
La entrada consiste en una o más contraseñas potenciales, una por línea,
seguida por una línea que contenga la palabra 'end' que señale el final del
archivo. Cada contraseña es de al menos una letra y como máximo de veinte y
consiste solo de letras minúsculas.
Salida
Para cada contraseña, la salida indicará si la contraseña es o no aceptable,
usando el formato preciso mostrado en el ejemplo.
Ejemplo de Prueba
Entrada
a
tv
ptoui
bontres
zoggax
9
10. wiinq
eep
houctuh
end
Salida
<a> is acceptable.
<tv> is not acceptable.
<ptoui> is not acceptable.
<bontres> is not acceptable.
<zoggax> is not acceptable.
<wiinq> is not acceptable.
<eep> is acceptable.
<houctuh> is acceptable.
10
11. G. Mean Mediam Problem?
La media de tres números enteros A, B y C es (A + B + C) / 3. La mediana de
tres enteros es el número que está en el medio, si es que están ordenados en
forma ascendente. Dados dos enteros A y B, retornar el entero mínimo posible
C, de tal manera que la media y la mediana de A, B y C son iguales.
Entrada
Cada caso de prueba se da en una sola línea que contiene dos enteros A y B
(1 ≤ A ≤ B ≤ 109).
El ultimo caso de prueba es seguido por una línea que contiene dos ceros (la
cual no debe de ser procesada).
Salida
Para cada caso de prueba escriba una línea que contenga el entero mínimo
posible C, de tal manera que la media y la mediana de A, B y C son iguales.
Ejemplo de Prueba
Entrada
1 2
6 10
1 1000000000
0 0
Salida
0
2
-999999998
11
12. H. Drawing Patterns
En las clases de Geometría el profesor definió el siguiente patrón para el nivel
1:
/
/__
Luego dijo que se podían construir más figuras de niveles superiores a 1
tomando como base el nivel 1, por ejemplo:
1er nivel
/
/__
2do nivel
/
/__
/ /
/__/__
3er nivel
/
/__
/ /
/__/__
/ /
/__ /__
/ / / /
/__/__/__/__
.
.
.
Tu tarea es muy simple, dado un número entero tienes que dibujar la figura
correspondiente del nivel n-esimo.
Entrada
La entrada contiene un numero t, indicando el número de casos de prueba
(1<=t<=10)
Las siguientes t líneas contiene un entero n(1<=n<=10).
Salida
Para cada caso, imprimir en una línea “Case k:” (k el numero de caso), luego
dibujar la figura del nivel n-esimo correspondiente.
Ejemplo de Prueba
Entrada
2
1
2
12
13. Salida
Case 1:
/
/__
Case 2:
/
/__
/ /
/__/__
Aclaración
Luego de imprimir el carácter „‟ (final de cada línea) no hay espacios en blanco.
Notar que la base está formada por la unión del carácter guión bajo (“_”).
13
14. I. Rectangle Sum
Un "Rectangle Sum" es un rectángulo dividido en celdas de unidades
cuadradas. Cada cuadrado contiene un número, y los números en cuadrados
vecinos siempre satisfacen la siguiente condición:
El número en cualquier cuadrado S que no está ni en la última fila (abajo) ni en
la columna más a la derecha puede ser calculada como la suma de los
siguientes 3 números:
El número en el cuadrado debajo de la posición de S.
El número en el cuadrado a la derecha de S.
El número en el otro cuadrado adyacente a los anteriores 2 cuadrados
(Aquél que va a la diagonal derecha abajo de S).
Un ejemplo de un "Rectangle Sum" correctamente llenado:
Por ejemplo, en la esquina superior izquierda tenemos 88 = 18 + 57 + 13.
Problema
Grandes matemáticos interesados en el tema piden tu ayuda para hallar el
valor del elemento que se encuentra en la esquina inferior.
Entrada
La entrada un valor entero t indicando el número de casos de prueba (1<=n
<=50).
Cada caso de prueba tiene el siguiente formato:
La primera línea de cada conjunto de datos contiene dos números. El
primer número es un entero 0 < F < 51 que indica el numero de filas. El
segundo número es un entero positivo 0 < C <51 que representa el
número de columnas del rectángulo.
La segunda línea contendrá una lista de F elementos que corresponden
a los valores de la primera columna (mas a la izquierda).
La tercera linea contendrá una lista de C elementos que corresponden a
los valores de la primera fila.
14
15. Salida
Para cada caso de prueba escribir en una línea el elemento que se encuentre
en la esquina inferior.
Ejemplo de Prueba
Entrada
3
3 4
88 18 1
88 57 33 10 5
4 4
0 0 0 0
0 0 0 0
2 2
6 1
6 2
Salida
18
0
3
Aclaración
El rectángulo suma resultante del caso de prueba número 1 es el mostrado en
el ejemplo.
15
16. J. Dreaming About Carrots
John trabaja en una compañía llamada "FIELD-Tech", y hoy, él estaba muy
cansado después del trabajo tanto que se quedó dormido tan pronto como llego
a casa.
Desafortunadamente, aun en sus sueños, el no podía olvidarse de su trabajo.
En un sueño, él fue encargado de ayudar a una compañía de producción de
zanahorias a tratar con el siguiente inconveniente:
¿Cuántas zanahorias crecen en un segmento de línea, conectadas por 2
zanahorias dadas?
Los puntos finales del segmento (las 2 zanahorias dadas) no deberían estar
incluidos.
Todo esto una pregunta bien extraña, y para hacerlo más extraña, los
representantes de la compañía (chicos que tienen zanahorias en lugar de
cabezas) dijeron que todas las zanahorias crecen en un plano infinito, y hay
exactamente una zanahoria en cada punto con coordenadas enteras.
Debes ayudar al cansado de John a tratar con este problema.
Entrada
La primera línea contiene un entero n indicando el número de casos de prueba
(1<=n<=1000).
Las siguientes n líneas contienen 2 pares de enteros “x1 y1 x2 y2” (sin
comillas)
Indicando los las posiciones de las zanahorias que se encuentran en los puntos
finales (x1,y1) y (x2,y2) respectivamente.
(0<=X1, Y1, X2, Y2 <=50)
Salida
Para cada caso, imprimir en una línea el número de zanahorias que están
estrictamente en el segmento de línea que conectan estas zanahorias.
Ejemplo de Prueba
Entrada
4
1 1 5 5
0 0 1 1
50 48 0 0
0 0 42 36
Salida
3
16