#P17040. [SGU545] Cut the rope, another rope and so on!
[SGU545] Cut the rope, another rope and so on!
题目描述
屏幕顶部是一条水平直线,可视为 轴。共有 根不可伸缩、质量可忽略的绳子,第 根绳子的一端固定在点 ,长度为 。所有绳子的另一端连接在同一个无限小的球上。
初始时系统处于静止状态。某些绳子可能绷紧,也可能处于松弛状态。
接下来会依次剪断 根绳子。第一次剪绳发生在时刻 。每次剪断一根绳子后,如果球发生运动,则等球重新静止后再剪下一根;如果剪断后球的位置完全不变,则立即继续剪下一根。
球运动在一种理想的完全黏滞介质中:在任意时刻,它都会沿着在当前约束下使重力势能下降最快的方向运动。例如,如果可以竖直向下运动,它就会竖直下落。球不会摆动,运动过程中纵坐标不会增大。
球始终以恒定速率 运动,因此运动距离等于经过的时间。
给定若干查询时刻 ,请输出这些时刻球的位置。
注意,一根尚未剪断的绳子并不要求始终绷紧。若球位于 ,第 根绳子的约束为
当只剩最后一根绳子并且球静止后,球将永远保持在该位置。
输入格式
第一行包含两个整数 ,其中 ,。
第二行包含 个整数 ,其中 ,表示各绳子固定端的横坐标。
第三行包含 个整数 ,其中 ,表示各绳子的长度。
保证初始状态存在,即所有绳子的约束区域存在公共点。还保证不会出现两根绳子同时具有相同的固定点和相同的长度。
第四行包含 个互不相同的整数 ,表示剪绳顺序,第 次剪断编号为 的绳子。
最后一行包含 个严格递增且两两不同的实数 ,其中 。每个数的小数部分最多有三位。
输出格式
输出 行。第 行输出两个实数 ,表示时刻 球的位置。
每个坐标至少输出小数点后 位。若你的答案与标准答案的绝对误差不超过 ,则认为正确。
坐标系中 轴正方向向上。
样例 1
样例输入
3 4
1 1 3
5 10 20
1 2
2.5 10 16 20
样例输出
1.0000000000 -7.5000000000
1.0000000000 -15.0000000000
2.0972097000 -19.9796138520
3.0000000000 -20.0000000000
样例 2
样例输入
3 7
2 22 19
12 12 10
2 1
0 0.18 0.19 4.39 6 7 9
样例输出
12.0000000000 -6.6332495807
11.8993800085 -6.7824977292
11.8937244905 -6.7907448565
15.0867736994 -9.2025355158
16.6125973239 -9.7108345914
17.5939901889 -9.9006634329
19.0000000000 -10.0000000000