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