首页 > ACM题库 > HDU-杭电 > hdu 3453 Fruit Bowl待解决[解题报告]C++
2014
03-23

hdu 3453 Fruit Bowl待解决[解题报告]C++

Fruit Bowl

问题描述 :

For her next project, Beebe Flat wishes to paint a bowl of fruit.Naturally, the bowl is two-dimensional, as is all of the fruit. She bought a triangular bowl which somehow always manages to stay upright, with a perfectly level top. The bowl has a height H, and opens A degrees to the left and B degrees to the right
(see diagram).
Bonsai
In the interest of art, Beebe eschews symmetry,so A ≠ B. She plans to buy perfectly circular fruit, each with radius 1, to put into the bowl. However, perfectly circular fruit is expensive, so she needs your help to figure out how much fruit she has to buy. She plans to fill the bowl to the brim,adding as much fruit as possible without any part exceeding the height of the bowl. Thankfully, she is not interested in an optimal packing, since she wants a simple algorithm for actually arranging the fruit. She will place the fruit one at a time, each time choosing the lowest possible location for the center.Since Beebe doesn’t like to deal with ties, she always purchases a bowl such that there is only one lowest possible location within a margin of 10-5. Finally, to ensure that a lid will fit nicely on the bowl when she’s done painting, she only
chooses bowls such that, when properly packed, the last piece of fruit to fit will be at least 10-2 below the top, and the next piece of fruit that would fit if the bowl were taller will jut out at least 10-2 above the top.Given a particular bowl, how many pieces of fruit does Beebe need to buy to fill the bowl in this manner?

输入:

The input consists of multiple test cases. Each test case has three integers on a single line, denoting A, B,and H. 1 <= A,B <= 45, A 6= B, and 1 <= H <= 300. The last test case will be followed by A = B = H = 0,which should not be processed.

输出:

The input consists of multiple test cases. Each test case has three integers on a single line, denoting A, B,and H. 1 <= A,B <= 45, A 6= B, and 1 <= H <= 300. The last test case will be followed by A = B = H = 0,which should not be processed.

样例输入:

20 30 10
10 20 20
0 0 0

样例输出:

9
25


  1. 其实国内大部分公司对算法都不够重视。特别是中小型公司老板根本都不懂技术,也不懂什么是算法,从而也不要求程序员懂什么算法,做程序从来不考虑性能问题,只要页面能显示出来就是好程序,这是国内的现状,很无奈。