编程介的小学生 2017-11-02 16:21 采纳率: 20.5%
浏览 833
已采纳

Polaris of Pandora

Problem Description
Polaris is a star. It is the most magnificent scene in the sky, and the most important navigation star of planet Pandora[1]. People live in Pandora call themselves as "Na'vi"[2], and they all love to fly in the sky with their ikran[3]. When they are flying in the sky, they use Polaris to navigate. Polaris could be used to navigate because that it is always staying in the straight line linking the North Pole and the South Pole of Pandora. That straight line could also be called as "axis of Pandora", and Polaris stays on the North Pole side.
Polaris is too far away from Pandora, so in every place near Pandora, light from Polaris could be regarded as parallel to axis of Pandora. Now several Na'vi ikran riders are flying in the sky of Pandora, they want to know the percentage of their whole flying distance that Polaris is visible. Polaris's light is quite bright, so Polaris is visible even when it is just on the skyline.
To simplify the problem, Na'vi riders assume that Pandora is a perfect sphere, which have an R radius. A rider starts flying from a point on the Pandora's surface and lands at another point, the flying height is given as H. Ikran is so powerful that flying time between the surface of Pandora and the flying height could be ignored, and ikran will always fly straight up and down between surface and flying height. Both the starting point and the landing point could be described using latitude and longitude [4] of Pandora. And riders will always choose the shortest path to fly.

Input
There are several test cases. Process to the end of file.
The only line of each test case contains 6 real numbers R (1000 ≤ R ≤ 10000), H (1 ≤ H ≤ R), lat0 (-π/2 < lat0 < π/2), lng0 (-π < lng0 < π), lat1 (-π/2 < lat1 < π/2), lng1 (-π < lng1 < π). R is radius of planet Pandora, H is Na'vi ikran rider's flying height, lat0 and lng0 are latitude and longitude of starting point, lat1 and lng1 are latitude and longitude of landing point.
We guarantee that starting point and landing point will not be the same, and they also will not be "opposite" (Starting point, landing point and Pandora's center will not be in the same line.)

Output
For each test case, output one line with the percentage of the flying distance that Polaris is visible. Round to 3 decimal places.

Sample Input
1000 10 0 0 0 0.5
4000 1000 0 0.618 1.0 0.618

Sample Output
100.000
64.350

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-11-27 15:51
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来