|시간 제한||메모리 제한||제출||정답||맞힌 사람||정답 비율|
|2 초||512 MB||17||14||13||86.667%|
You, like so many other people, have probably used the Global Positioning Systems (GPS), but have wondered how it actually works. GPS positioning is based on a set of satellites orbiting Earth. All satellites have a synchronized internal clock1. They continuously transmit the value of their internal clock to the surface of Earth via radio waves. A GPS receiver simultaneously2 collects measurements from some satellites which are in sight. The time measurements t1, . . . , tm collected at time t are typically different, as each satellite has a different distance to the receiver. Since we know the exact orbits of all satellites, we know exactly where each satellite was when it sent its signal. Based on these positions and the distance, we can compute our position. To compute a unique position, assuming that we are on the surface of the Earth, we need at least 3 measurements from satellites.
Your task, however, is not to actually compute your own position, but to determine which signals you received from which satellites. To be precise: you are given your geographical coordinates on Earth and a description of all orbits of satellites and should now determine for every satellite
Remember that radio waves travel in straight lines and at the speed of light, which we assume is 299 792 458 meters per second. We assume Earth to be a perfect sphere with a radius of 6 371km, and that all GPS satellites are orbiting the Earth with a fixed speed on perfect circles whose centers are identical to the center of Earth.
1In practice the clocks are not completely synchronous – because of general relativity. In this problem we assume that these effects do not exist.
The input consists of:
For the longitude ℓo ∈ [−180, 180], positive values represent east and negative values west. For the latitude ℓa ∈ [−90, 90], positive values represent north and negative values south.
The format for the satellite descriptions is as follows:
Figure G.1: Schematic display of satellite coordinates. The satellite’s orbit is shown in red, its actual position is the red dot. On Earth, the equator and the prime meridian are marked by lines. The dotted line is coplanar to the equator and has the same radius as the satellite’s orbit. The angles φ and ψ are described in the input section. The black dot is your position on Earth and you should compute the time necessary for the signal to travel the blue line.
Note: All real numbers in the input are given with at most 3 decimal places after the decimal point. It is guaranteed that each satellite has a distance of at least 1 meter from the tangent plane at your position (this means that you can safely use floating point arithmetic in your solution).
For every satellite, output no signal if a signal sent from that satellite does not reach you. If the satellite’s signal does reach you, output the time that the signal needs to travel from the satellite to your position, in seconds. The time must be accurate up to a relative or absolute error (whichever is lower) of 10−7.
3 45.0 45.0 0.0 45.0 7500.0 0.125 0.0 60.0 7000.0 0.3 -50.0 5.0 25000.0 0.3
0.00773245 no signal 0.0690288