111408 A la rica leche - Programming Challenges

Transcripción

111408 A la rica leche - Programming Challenges
Skiena y Revilla, Concursos Internacionales de Informática y Programación
Manual de Entrenamiento por Internet, Universidad de Valladolid, España, 2003. ISBN: 84-8448-371-1
111408
A la rica leche
Al pequeño Tomy le gusta mojar el pan en leche. Lo hace introduciéndolo en la taza hasta que la
parte inferior toca el fondo de la misma, como en la siguiente figura:
Como la cantidad de leche que cabe en la taza es limitada, sólo queda cubierta la zona entre la
superficie de la leche y el lado inferior del pan. Hay que tener en cuenta que la pronfundidad de la
leche es siempre h y no cambia con cada introducción del pan.
De esta forma, Tomy quiere mojar en la leche el mayor área de pan posible, pero no quiere tener
que introducirlo en la taza más de k veces. ¿Podremos ayudarle? Se puede asumir que la taza es más
ancha que el lado más ancho de cualquier trozo de pan, por lo que es posible mojar completamente
cada lado.
Entrada
Cada caso de prueba comienza con una lı́nea que contiene tres enteros n, k y h (3 ≤ n ≤ 20,
0 ≤ k ≤ 8, 0 ≤ h ≤ 10). El trozo de pan es un polı́gono convexo de n vértices. Cada una de las
siguientes n lı́neas contiene dos enteros xi e yi (0 ≤ xi , yi ≤ 1.000), que representan las coordenadas
cartesianas del vértice i-ésimo. Los vértices están numerados en el sentido de las agujas del reloj. El
caso de prueba n = k = h = 0 supone el final de la entrada.
Salida
Mostrar (con dos decimales) el área de la mayor región mojada de pan que sea posible conseguir,
introduciéndolo en la taza k veces. El resultado de cada caso de prueba debe imprimirse en una lı́nea
independiente.
Ejemplo de entrada
Ejemplo de salida
4
1
3
5
0
0
7.46
2 1
0
0
2
4
0 0
http://www.programming-challenges.com
c
copyright 2006

Documentos relacionados