#P7069. [NWRRC2014] Joy of Flight

[NWRRC2014] Joy of Flight

题目描述

Jacob likes to play with his radio-controlled aircraft. The weather today is pretty windy and Jacob has to plan flight carefully. He has a weather forecast — the speed and direction of the wind for every second of the planned flight.

The plane may have airspeed up to vmaxv_{\max} units per second in any direction. The wind blows away plane in the following way: if airspeed speed of the plane is (vx,vy)(v_x, v_y) and the wind speed is (wx,wy)(w_x, w_y), the plane moves by (vx+wx,vy+wy)(v_x+w_x, v_y+w_y) each second.

Jacob has a fuel for exactly kk seconds, and he wants to learn, whether the plane is able to fly from start to finish in this time. If it is possible he needs to know the flight plan: the position of the plane after every second of flight.

输入格式

The first line of the input file contains four integers Sx,Sy,Fx,FyS_x, S_y, F_x, F_y — coordinates of start and finish (10000Sx,Sy,Fx,Fy10000−10 000 ≤ S_x, S_y, F_x, F_y ≤ 10 000).

The second line contains three integers n,kn, k and vmaxv_{\max} — the number of wind condition changes, duration of Jacob’s flight in seconds and maximum aircraft speed (1n,k,vmax100001 ≤ n, k, v_{\max} ≤ 10 000).

The following nn lines contain the wind conditions description. The ii-th of these lines contains integers ti,wxit_i, w_{x_i} and wyiw_{y_i} — starting at time tit_i the wind will blow by vector (wxi,wyi)(w_{x_i}, w_{y_i}) each second ($0 = t_1 < ··· < t_i < t_{i+1} < ··· < k; \sqrt{w_{x_i}^2 + w_{y_i}^2} ≤ v_{\max}$).

输出格式

The first line must contain Yes if Jacob’s plane is able to fly from start to finish in k seconds, and No otherwise.

If it can to do that, the following kk lines must contain the flight plan. The ii-th of these lines must contain two floating point numbers xx and yy — the coordinates of the position (PiP_i) of the plane after ii-th second of the flight.

The plan is correct if for every 1ik1 ≤ i ≤ k it is possible to fly in one second from Pi1P_{i−1} to some point QiQ_i, such that distance between QiQ_i and PiP_i doesn’t exceed 10510^{−5}, where P0=SP_0 = S. Moreover the distance between PkP_k and FF should not exceed 10510^{-5} as well.

题目大意

简述

大意就是一架飞机要从起点飞到终点,飞机有最大空速,飞行最大时间,给出风速的变化和风如何影响飞机飞行,求出飞机是否能到达终点,如果能就输出飞机的位置变化。

题目描述

雅各布(Jacob)喜欢玩他的无线电摇制飞机。今天的风很大,雅各布必须小心地计划飞行。他有一个天气预报——飞行计划中每秒钟的风速和风向。

飞机每秒在任何方向的空速最大都可以达到 vmaxv_{max} 。风吹动飞机的方式如下:如果飞机的空速是 (vx,vy)(v_x,v_y) 并且风速是 (wx,wy)(w_x,w_y) ,那么飞机每秒将移动 (vx+wx,vy+wy)(v_x+w_x,v_y+w_y)

P7069-1

雅各布(Jacob)有一种刚好能使用kk秒的燃料,他想知道,飞机是否能在这段时间内从起点飞到终点。如果可能的话,他需要知道飞行计划:每飞行一秒后飞机的位置。

输入格式

输入文件的第一行有四个整数 Sx,Sy,Fx,FyS_x,S_y,F_x,F_y ,代表起始位置 (10000Sx,Sy,Fx,Fy10000)(-10000 \le S_x,S_y,F_x,F_y \le 10000)

第二行有三个整数 n,kvmaxn,k 和 v_{max} ——风况变化的次数,雅各布(Jacob)飞行持续的时间(以秒为单位)和飞机最大空速。

剩下的 nn 行是对风向的描述,第 ii 行有三个整数 ti,wxiwyit_i,w_{xi} 和 w_{yi} ——从时间 tit_i 开始,风速为每秒 (wxi,wyi)(w_{xi},w_{yi}) (一个向量) $(0=t_1< \cdots <t_i<t_{i+1}< \cdots <k; \sqrt{{w^2_{xi}}+{w^2_{yi}}} \le v_{max})$ 。

输出格式

如果 kk 秒内雅各布(Jacob)的飞机能从起点飞到终点则应输出 Yes ,否则输出 No

如果它能飞到,接下来的 kk 行必须包括飞行计划。第 ii 行必须包括两个浮点数 xxyy (保留几位貌似没说)——飞行了第 ii 秒的平面位置 (Pi)(P_i)

如果对于每个 1ik1 \le i \le k 都能在一秒内从点 Pi1P_{i-1} 飞到某个点 QiQ_i ,使得 QiQ_iPiP_i 间距离不超过 10510^{-5} ,其中 P0=SP_0=S ,那么这个计划就是正确的。此外 PkP_kFF 间的距离也应不超过 10510^{-5}

说明/提示

时间限制: 2s2s ;内存限制: 256MB256MB

by XYY1411

2020/12/08

1 1 7 4
2 3 10
0 1 2
2 2 0
Yes
3 2.5
5 2.5
7 4

提示

Time limit: 2 s, Memory limit: 256 MB.