[CTSC2009]魔幻花园
魔法师栋栋有一座美丽的魔幻花园。花园中种满了各式各样的魔幻植物,一年四季鲜花盛开,栋栋的朋友们都很喜欢来这里游玩。
花园的浇灌系统由栋栋特别设计。他用魔法在花园上空设置了 个喷头,这些喷头都与附近的圣水河相连。浇灌时,所有喷头同时喷出水流。水流在空中划出抛物线,最终恰好浇灌到 棵最缺水的魔幻植物。
所有喷头均位于高度为 的同一水平面内,并且水平放置。水流离开喷头时只有水平方向的初速度,不同喷头喷出水流的水平初速度可以不同。花园中没有风,空气阻力可以忽略。在重力加速度 的作用下,每股水流的轨迹都是一条抛物线。空间中的任意一点最多被 个喷头喷到,并且水流之间的相交不会影响各自的运动轨迹。
近年来,魔幻花园附近新建了许多工厂,圣水河受到了污染。栋栋不希望受污染的水影响花园,因此需要先用魔法净化用于浇灌的水。
栋栋的魔法只能净化已经从喷头喷出的水。他可以在空中的某个水平面内施展魔法,形成一个凸多边形滤水层。所有穿过滤水层的水都会被净化。施展魔法所需的能量与滤水层的面积成正比,每平方米滤水层需要 单位魔法能量。
栋栋希望净化所有喷头喷出的水。请计算他最少需要消耗多少单位的魔法能量。
为了描述问题,栋栋在花园中建立了一个三维直角坐标系:以花园的西北角为坐标原点,向东为 轴正方向,向南为 轴正方向,向上为 轴正方向。第 个喷头的位置为 ,它所浇灌的魔幻植物的位置为 。
水流从喷头运动到地面的过程可以视为平抛运动,并分解为水平方向与竖直方向上的两个分运动。令
则水平方向的速度保持不变,即
竖直方向的速度为
输入格式
第一行包含两个实数 ,分别表示喷头的高度和魔幻花园中的重力加速度。
第二行包含一个整数 ,表示喷头的数量。
接下来 行,第 行包含四个整数 ,表示第 个喷头位于 ,其喷出的水流最终浇灌位于 的魔幻植物。
输出格式
输出一个实数,表示栋栋最少需要消耗的魔法能量,结果精确到小数点后 位。
样例输入
样例 :
36 2
3
99 100 105 100
101 100 95 100
100 99 100 105
样例 :
10 9.8
3
0 0 0 0
1 0 100 0
0 50 0 1
样例输出
样例 :
0.0000
样例 :
25.0000
数据范围
- 对于 的数据,;
- 对于 的数据,;
- 对于 的数据,;
- ;
- ;
- 。
来源与许可
本题为 CTSC 2009 试题「魔幻花园」,题面与测试数据整理自 BZOJ。
样例 1
输入
36 2
3
99 100 105 100
101 100 95 100
100 99 100 105
输出
0.0000
样例 2
输入
10 9.8
3
0 0 0 0
1 0 100 0
0 50 0 1
输出
25.0000