Pr´
actica de C
LyA
Observaciones preliminares
Los problemas 1, 2 y 3 tienen por objetivo solamente que el alumno gane familiaridad con el uso del grader, y no presentan demasiada compleji-dad. Los problemas tienen entradas y salidas de ejemplo, que pueden servir para la interpretaci´on del problema, pero el grader tiene muchas mas en-tradas que las que se muestran en los enunciados. Tanto este documento como el grader est´an en la mas β de las etapas. Por favor, remitir cualquier sugerencia que pueda servir para mejorar cualquiera de estas dos cosas a [email protected]
Problemas
Problema n´
umero 1
Nombre del problema: sum
Este problema tiene que leer dos n´umeros de la entrada e imprimir su suma en la salida. Se garantiza que tanto los dos n´umeros de la entrada como su suma caben en un entero con signo de 32 bits.
Entrada Salida 0 0 0 0 5 5 5 0 5 98 14 112
Problema n´
umero 2
Este problema tiene que leer dos n´umeros de la entrada e imprimir su producto en la salida. Se garantiza que tanto los dos n´umeros de la entrada como su producto caben en un entero con signo de 32 bits.
Entrada Salida 0 0 0 0 5 0 5 0 0 98 14 1372
Problema n´
umero 3
Nombre del problema: fib
Este problema tiene que leer un n´umero n de la entrada e imprimir en la salida el n-´esimo n´umero de Fibonacci, Fk. (Nota: F0 = 0, F1 = 1, y
Fk=Fk−1+Fk−2, para k >1 Entrada Salida 0 0 1 1 2 1 15 610 25 75025
Problema n´
umero 4
Nombre del problema: entradas
Juan organiz´o una fiesta, para la cual hizo imprimir M entradas (1 ≤
M ≤ 10000). Para poder identificarlas, hizo imprimir un n´umero diferente sobre cada una. Las entradas quedaron numeradas de 1 a M. Una vez que termin´o la fiesta, se puso a revisar la cajita de almacenar entradas. Al hacer esto, not´o que hab´ıa entradas que ten´ıan el mismo n´umero, o sea que hab´ıa gente que hab´ıa entrado con entradas falsas. La ira se apoder´o de Juan. Quiere pensar en fr´ıo antes de actuar, pero ya es demasiado tarde. Juan quiere saber cuantos son los n´umeros que aparecen mas de una vez, no importa que aparezcan 1000 o 2 veces, simplemente que aparezcan mas de una vez. Por cada uno de estos n´umeros va a matar a una persona. Juan no puede pensar,
Formato de la entrada: La entrada tiene dos l´ıneas, en la primera hay dos enteros, M y (la cantidad de entradas que Juan hizo imprimir) y N (la cantidad de entradas que hab´ıa en la cajita de almacenar entradas). En la segunda l´ınea hay N enteros, que son los n´umeros en las entradas que hay en la cajita.
Formato de la salida: La salida debe ser una sola l´ınea con el n´umero de balas que Juan tiene que poner en el rev´olver, seguido de un ’
n’ Entrada Salida 5 5 1 6 3 1 2 4 6 10 4 6 1 3 6 6 4 2 3 1 2
Problema n´
umero 5
Nombre del problema: bingo
Supongamos que hay un juego de azar en el que las tarjetas son cuadr´ıculas de N ×N, (1 ≤N ≤ 100). Los n´umeros en los casilleros de esta cuadr´ıcula son una permutaci´on de los n´umeros 1..N2, es decir, no hay dos casilleros
con el mismo n´umero y los n´umeros de todos los casilleros est´an en el rango 1..N2. El juego de azar consiste en elegir al azar cuatro n´umeros distintos
en el rango 1..N2. Una tarjeta resulta ganadora si los cuatro n´umeros que
se elegieron son en esta, los v´ertices de un cuadrado. Por ejemplo, la tarjeta que se muestra en el cuadro 1 podr´ıa resultar ganadora si salen los n´umeros
{15,1,10,7}, o bien{1,4,16,13}, o bien{1,11,3,9}, pero no es ganadora si salen los numeros {1,4,12,14} o {15,1,13,9}. Supongamos ya escogidos los cuatro n´umeros, se le pide que calcule la proporci´on
Numero total de tarjetas Numero de tarjetas ganadoras con una precisi´on de 2 d´ıgitos decimales.
Formato de la entrada: La entrada tiene una sola l´ınea, con un entero, N.
15 1 5 4
10 7 8 11
9 13 6 16 2 14 3 12
Cuadro 1: Ejemplo de tarjeta conN = 4
Formato de la salida: La salida debe ser una sola l´ınea con un la propor-ci´on pedida, con 2 cifras decimales, seguida de un ’
n’ Entrada Salida 2 1.00 3 21.00 4 91.00
Problema n´
umero 6
Nombre del problema: resta
Este problema consiste realizar la operaci´onA−B, siendo A y B n´umeros escritos en base B, (2 ≤ B ≤ 100000), cada uno de los cuales tiene, a lo sumo 30000 cifras. La salida debe estar expresada en la misma base que est´a expresada la entrada. Se asegura que se cumplir´a que A ≥B.
Formato de la entrada: La entrada tiene tres l´ıneas. En la primera hay tres enteros,B,n1 yn2, que son la base en la que est´an escritosA yB, y las
cantidades de cifras de ambos n´umeros. En la segunda l´ınea hay n1 enteros,
todos menores que B, que representan las cifras de Ade izquierda a derecha y en la tercer l´ınea hay n2 n´umeros enteros que representan las cifras de B
de izquierda a derecha.
Formato de la salida: La salida debe ser una sola l´ınea con la lista de cifras de izquierda a derecha que resultan de realizar la operaci´on pedida. Estas cifras ser´an la representaci´on del resultado en la base B. Luego de esta lista de n´umeros, la salida debe tener un ’
Entrada Salida 10 2 2 0 1 5 1 5 10 3 2 9 0 1 0 0 1 0 4 3 2 2 3 1 0 1 1 2
Problema n´
umero 7
Nombre del problema: factorial1
DadoN, (0≤N ≤1000), decir cu´al es la cifra menos significativa diferente de 0 de N!
Formato de la entrada: La entrada tiene una sola l´ınea con un solo entero: N
Formato de la salida: La salida debe ser una linea con la cifra pedida, seguida de un ’ n’ Entrada Salida 0 1 1 1 2 2 5 2 7 4 13 8
Problema n´
umero 8
Este problema es exactamente igual que el problema anterior, s´olo que ahora N puede ser un n´umero que tenga hasta 1 mill´on de cifras cuando se lo escribe en decimal, y nos interesa que el programa termine en menos de 3 segundos.
Problema n´
umero 9
Nombre del problema: subsecuencia
Dada una secuencia S = {sn}, de N enteros, (1 ≤ N ≤ 1000), decir cual
es la longitud de la m´axima subsecuencia decreciente de S
Formato de la entrada: La entrada tiene dos l´ıneas. La primer l´ınea tiene un solo entero N y la segunda l´ınea tiene N enteros, que son los elementos de S le´ıdos de izquierda a derecha.
Formato de la salida: La salida debe ser una l´ınea con la longitud de la m´axima subsecuencia decreciente, seguida de un ’
n’ Entrada Salida 5 5 100 21 8 4 3 5 3 100 1000 8 1000 3
Problema n´
umero 10
Nombre del problema: capsulaconvexa
Suponga que tiene N (1 ≤ N ≤ 100) clavitos clavados sobre una tabla de madera. Ahora, pone una bandita el´astica de manera que queden todos los clavitos encerrados adentro del pol´ıgono que forma la bandita el´astica. Algunos de esos clavitos ser´an v´ertices en este pol´ıgono, y algunos estar´an dentro del mismo. El pol´ıgono del que hablamos es la c´apsula convexa de los clavitos. Este problema consiste en decir cu´ales clavitos ser´an los v´ertices de la c´apsula convexa, los clavitos estar´an dados por sus coordenadas en la tabla de madera. Se asegura que no habr´a 3 clavitos alineados, ni 2 clavitos
Formato de la entrada: La entrada tiene N + 1 l´ıneas. La primer l´ınea tiene un solo enteroN y las l´ıneas 2, 3 . . .N+ 1 tienen cada una dos enteros. Para la i-´esima l´ınea, estos dos enteros representan las coordenadas x e y del i−1-´esimo clavito. Esto es, la segunda l´ınea del archivo tiene las coorde-nadas del clavito que llamaremos clavito n´umero 1, la tercer l´ınea tiene las coordenadas del clavito n´umero 2, la cuarta l´ınea tiene las coordenadas del
clavito 3, y as´ı.
Formato de la salida: La salida debe ser una sola l´ınea con los n´umeros de los clavitos que son v´ertices de la c´apsula, ordenados de menor a mayor. Luego de esta lista de n´umeros, debe ir un ’
n’ Entrada Salida 3 1 2 3 1 1 1 2 2 2 5 1 2 3 1 1 1 100 100 100 3 5 7 30