编程介的小学生 2017-01-02 08:49 采纳率: 20.5%
浏览 868
已采纳

Baking the Shaobing

After LMY has been married to YY, YY lives in happiness, for LMY does all housework. When YY feels hungry, LMY cooks something for him to eat. When YY felt thirsty, LMY feeds him with water.

Now YY feels hungry again, so he asks LMY for food. But LMY is not at home. Fortunately, YY finds a piece of shaobing (a Chinese styled cake) in the kitchen.

This shaobing looks rather tempting. It has a shape of a simple polygon with N vertices, and its mess is evenly distributed. LMY had hung a string from the ceiling to the gravity center of the shaobing, so that the whole shaobing keeps balanced and lies in a horizontal plane although there is only one point hanging.

When YY starts to enjoy the shaobing, tragedy occurred… It is raw!

There is only one stove in the kitchen. Its cooking area lies in a horizontal plane and has a shape of a circle. YY has adjusted it to the same plane where the shaobing lies to cook it. The circle is centered at (x0, y0), with radius r. After turning on the stove, the part of the shaobing lying on the cooking area will be cooked.

However, the stove cannot be moved. So is the hanging point of the shaobing, or it may fall to the ground. The string can be moved, but YY cannot move it, because LMY has some special use with it. After all, YY can only rotate the shaobing by the hanging point.

YY is so hungry that he cannot wait for the whole shaobing to be cooked. He wants to rotate it to a best angle, cook it and then eat the cooked part, to comfort his stomach in a fastest way.

What angle should the shaobing be rotated to, so that the cooked part is the biggest?

输入:

The input contains several test cases. For each test case:

The first line consists of three integers x0, y0 and r, indicating the position and radius of the stove’s cooking area.

The second line contains an integer N (3<=N<=15), indicating the number of vertices of the shaobing.

In the third line there are N pairs of integers (x1, y1), (x2, y2), …, (xN, yN), indicating the coordinates of the vertices of the shaobing, in counterclockwise order.

All coordinates are in the range -1000 to 1000, inclusively.

There is a blank line separating test cases.

Input ends with a line where x0=y0=r=0, and this line should not be processed.

输出:

The input contains several test cases. For each test case:

The first line consists of three integers x0, y0 and r, indicating the position and radius of the stove’s cooking area.

The second line contains an integer N (3<=N<=15), indicating the number of vertices of the shaobing.

In the third line there are N pairs of integers (x1, y1), (x2, y2), …, (xN, yN), indicating the coordinates of the vertices of the shaobing, in counterclockwise order.

All coordinates are in the range -1000 to 1000, inclusively.

There is a blank line separating test cases.

Input ends with a line where x0=y0=r=0, and this line should not be processed.

样例输入:

0 0 1
3
0 0 1 0 0 1

0 0 0
样例输出:

0.5000

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog