Staggering to the Finish
题号:NC225367
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

An oval track and field racing track consists of two parallel straightaway sections connected by two semicircles, depicted in Figure . Footraces run in the counterclockwise direction, ending at a common finish line located along the lower straightaway. For races that exceed the length of a single straightaway, starting lines must be staggered backwards, in the clockwise direction, from the finish line. The staggered starting lines must account for the curve of the semicircles and the widths of each running lane.

    There are international standards for oval track dimensions. Unfortunately, the available area for a track doesn’t always hold a standard track. Given the dimensions of the track and the length of the race, your team is to write a program to ensure equal race lengths by computing the staggered starting line positions.
    The total distance of a race for any given lane is computed from the line of running. The line of running is an unmarked line to the right of the lane’s inside marker (as seen from the counterclockwise direction). See Figure . For the innermost lane (lane ) the line of running is usually farther from the lane marker than for the remaining lanes.
    The track is mapped to an  coordinate system with  at the center of the track. See Figure .

输入描述:

The first line of input to your program contains seven values, , separated by whitespace, describingthe geometry of a track, where:
      is the integer number of lanes.
      is the inner radius of lane , a real number in meters. See Figure  
      is the length of the straightaway, a real number in meters. See Figure

      is the width of each lane, a real number in meters. See Figure
      is the -coordinate of the finish line, measured from the centerline in Figure , a real value in meters. Thefinish line will always be in the lower (negative ) half of the track. 
      is the offset from the inner radius of lane to the line of running for lane , a real number in meters. SeeFigure
      is the offset from the inner radius to the lines of running for lanes and higher. See Figure .
The remaining lines until end-of-file specify , the distance of a race, one race per line, a real number in meters. . There will be at most  distances  in input.

输出描述:

Your program is to print a series of values for each race distance, separated from each other by spaces and/or newlines.Print the race distance first, followed by the  coordinates of the staggered starting line locations in lane numberorder. Express all values in meters. The  coordinate is the innermost point of a lane, NOT the line of running.Treat each lane marker (straightaway or radius) as a zero-width line. International standards require that the values bewithin  meters of the exact answer. 
示例1

输入

复制
4 36.5 84.39 1.22 40.0 0.30 0.20
200.0
400

输出

复制
200.000 -40.0006 36.5000 -43.5119 37.6970 -47.3108 38.6025 -51.0664 39.1679
400.000 40.0012 -36.5000 46.9998 -37.4127 54.4292 -36.9682 61.4438 -35.2464