Você está na página 1de 6

Concurso de programaci

on 2008
Escuela Universitaria de Inform
atica
Universidad Polit
ecnica de Madrid

Escoba

Entrenamiento 2

Nivel 1

El juego de la escoba consiste en sumar 15 puntos con una de las cartas que el jugador tiene en
la mano y las cartas que hay en la mesa.
Inicialmente, cada jugador recibe tres cartas de la baraja espa
nola, y en la mesa se ponen otras
cuatro. El n
umero de cartas de cada jugador va disminuyendo con cada ronda hasta quedarse
sin ninguna, momento en que se reparten otras tres. Este proceso contin
ua hasta que no queden
cartas por repartir. Despues de que se juegue la u
ltima mano se procedera a contar el total de
puntos de cada jugador.
El n
umero de cartas en la mesa ira variando seg
un se vaya desarrollando el juego e incluso puede
ser 0, si un jugador acaba de conseguir una escoba. Lo que nunca podra ocurrir es que, con una
combinacion de cartas en la mesa, se pueda sumar 15. Las cartas con n
umero tienen un valor
igual a su n
umero y las tres restantes valen 8 la sota, 9 el caballo y 10 el rey.
Cuando un jugador completa 15 puntos, retira su carta utilizada y las que se han usado de la
mesa para completar los 15 puntos. Pero, si no puede sumar 15 puntos, pone una de sus cartas
en la mesa. Si se retiran todas las cartas de la mesa en una jugada, el jugador que lo haga gana
directamente 1 punto. Esta jugada se llama hacer escoba. Si en la jugada un jugador se lleva
el 7 de oros, obtiene directamente 1 punto. Ademas de esto, al final de la partida, el jugador
que tenga mas oros, sietes o cartas se llevara 1 punto por cada uno de estos conceptos. Cada
jugador debe tratar de conseguir los maximos puntos posibles en cada jugada y, si no es posible
conseguir ning
un punto directo, jugar para que al final pueda conseguir los maximos puntos
indirectos.
El problema que se plantea es el siguiente: dado un conjunto de cartas en la mesa y tres cartas
que un jugador tiene en la mano, determinar, de todas las posibles, cual es la mejor jugada
en ese momento.
Entrada
En la primera lnea se indica el n
umero de casos de prueba. Cada caso de prueba se describe
de la siguiente manera: un entero en n (0 n 8) en una lnea que indica el numero
de cartas en la mesa y, para cada una de estas, una lnea con un caracter y un n
umero
separados por un espacio (palo-espacio-n
umero) que codifican la carta del siguiente modo:
a) Caracter: O (oros), C (copas), E (espadas) o B (bastos).
b) N
umero: 1, 2, 3, 4, 5, 6, 7, 8 (sota), 9 (caballo) o 10 (rey).
Finalmente hay tres lneas para codificar las cartas que el jugador tiene en la mano.

Salida
La solucion de cada uno de los casos de prueba se escribe del siguiente modo: un entero en
una lnea indicando el n
umero de cartas que juega el jugador (0 si no puede jugar ninguna)
y, para cada una de estas, una lnea indicando la carta, empezando por la que juega de su
mano.
Ejemplo de entrada
2
3
C
B
E
O
B
O
2
O
B
C
B
E

6
9
2
7
7
10
7
9
5
6
4

Salida correspondiente al ejemplo


3
O
C
E
0

7
6
2

Archivos de entrada y salida


El archivo ejecutable debera leer los datos del problema y escribir la solucion en los siguientes
archivos de entrada y salida respectivamente:
- Entrada: cpeui08 Escoba.txt
- Salida: cpeui08 Solucion Escoba.txt

Concurso de programaci
on 2008
Escuela Universitaria de Inform
atica
Universidad Polit
ecnica de Madrid

Zapatero

Entrenamiento 2

Nivel 2

Un zapatero tiene N pedidos de clientes que debe entregar. El zapatero suele tardar varios
das en completar cada pedido y, u
nicamente, puede trabajar en uno concreto cada da. Para
el pedido iesimo, el entero Ti (1 Ti 1000) determina el n
umero de das que tardara el
zapatero en finalizar el trabajo.
Pero la popularidad tiene un precio. Por cada da de demora en el inicio del trabajo en el pedido
iesimo, el zapatero se ha comprometido a pagar una compensacion de Si (1 Si 10000)
centimos. Ayudemos al zapatero escribiendo un programa que determine el orden en que debe
de realizar los pedidos, para que la penalizacion total sea mnima.
Entrada
En la primera lnea se indica el n
umero de casos de prueba. Cada caso de prueba se
describe de la siguiente manera: una lnea con el n
umero de pedidos N (1 N 1000) y,
para cada uno de los pedidos, una lnea con el tiempo de finalizacion y la compensacion
economica del pedido, separados por un espacio.
Salida
Para cada caso de prueba el programa debera escribir la secuenciacion de los pedidos
(representados por su posicion en la entrada) que conlleva la menor compensacion posible:
un pedido (entero) en cada lnea. Si existen varias soluciones posibles, se considerara la
primera en orden lexicografico.
Ejemplo de entrada
1
4
3
1
2
5

4
1000
2
5

Salida correspondiente al ejemplo


2
1
3
4

Archivos de entrada y salida


El archivo ejecutable debera leer los datos del problema y escribir la solucion en los siguientes
archivos de entrada y salida respectivamente:
- Entrada: cpeui08 Zapatero.txt
- Salida: cpeui08 Solucion Zapatero.txt

Concurso de programaci
on 2008
Escuela Universitaria de Inform
atica
Universidad Polit
ecnica de Madrid

Partici
on

Entrenamiento 2

Nivel 3

Sea R una region limitada por una curva poligonal con lados horizontales y verticales, con
vertices de coordenadas enteras y descrita en sentido antihorario. Considerando particiones de
R en rectangulos de altura 1, se trata de determinar el n
umero de rectangulos de la particion
de cardinal mnimo. En el ejemplo siguiente la respuesta es 27.

Entrada
En la primera lnea se indica el n
umero de casos de prueba. Para cada caso de prueba: en
una lnea se indica el n
umero de vertices de la poligonal, n, y en las siguientes n lneas
aparecen las coordenadas de los vertices (dos enteros entre 0 y 100 separados por un
espacio).
Salida
Una lnea por cada uno de los casos de prueba indicando la solucion.

Ejemplo de entrada
2
10
0
2
2
3
3
2
2
1
1
0
12
0
2
2
4
4
3
3
5
5
1
1
0

0
0
1
1
2
2
3
3
1
1
0
0
2
2
1
1
0
0
4
4
3
3

Salida correspondiente al ejemplo


3
6

Archivos de entrada y salida


El archivo ejecutable debera leer los datos del problema y escribir la solucion en los siguientes
archivos de entrada y salida respectivamente:
- Entrada: cpeui08 Particion.txt
- Salida: cpeui08 Solucion Particion.txt

Você também pode gostar