#P2571. Global Roaming
Global Roaming
中文题面:
描述
当今移动通信的很大一部分依赖于能否直接观测到卫星。因此,通信服务提供商必须清楚其服务覆盖的区域。
你的任务是识别那些能直接观测到特定卫星的位置,即该卫星必须位于地平线上方。
为简化问题,可假设地球是一个完美球体,半径为公里(山脉的影响将在未来版本中加入……)。卫星被视为地球表面上方的一个点状物体。
输入:
输入文件包含多个测试用例。每个测试用例的第一行包含待检查的位置数量,随后是卫星的位置信息:
其纬度、经度(均以度为单位)以及距离地球表面的高度(以公里为单位)。
接下来的行每行描述地球表面的一个位置:
位置的标签(由少于个可打印的ASCII字符组成,不含空格),后跟其纬度和经度(均以度为单位)。输入以 结束。
输出:
对于每个测试用例,按示例格式输出测试用例编号。然后输出从该位置可见卫星的所有位置标签,每个标签占一行,顺序与输入文件中的顺序一致。
每个测试用例输出后需空一行。
输入数据 1
3 20.0 -60.0 150000000.0
Ulm 48.406 10.002
Jakarta -6.13 106.75
Honolulu 21.32 -157.83
2 48.4 10 0.5
Ulm 48.406 10.002
Honolulu 21.32 -157.83
0 0.0 0.0 0.0
输出数据 1
Test case 1:
Ulm
Honolulu
Test case 2:
Ulm
来源
ACM国际大学生程序设计竞赛(ACM-ICPC) 德国乌尔姆大学分站赛