#1860. 2864. 战火星空

2864. 战火星空

#2864. 战火星空

题目描述

从APIO回来之后,XX便迷上了"战火星空"这个游戏。

原版战火星空中,有一架小飞机和一个Boss,玩家控制小飞机来对Boss进行射击。然而,这种"一对一"的游戏已经让XX乏味,于是XX基于原版战火星空,将其加强创造了一款新版战火星空。

新版战火星空中,有N个Boss和M架小飞机。在游戏过程中,Boss的位置不会改变,而小飞机在从(Sx, Sy)到(Ex, Ey)的线段以速度V匀速飞行,并在到达终点后从地图上消失;小飞机的子弹具有R的射程,在任意时刻,小飞机可以向在射程内的Boss射击;而为了使实力更加均衡,游戏还规定在任意时刻,每个Boss只能被一架小飞机作为目标射击;每架小飞机也有一个能量值E的限制,若某时刻小飞机向K个Boss射击,则每秒需要消耗K个单位的能量,所有能量消耗完之后小飞机不再能够进行射击。

在游戏开始前,XX知道了所有Boss的位置,以及每架小飞机的飞行路线以及各项属性,他想知道所有Boss被攻击的总时间最大是多少,你能帮助他吗?

输入格式

第一行包含两个整数N,M,分别表示Boss和小飞机的个数。

接下来N行,每行一个正整数点坐标(x, y),表示Boss所在的位置。

接下来M行,每行七个正整数:Sx, Sy, Ex, Ey, V, R, E,表示每架小飞机的运动路线、速度、射程以及能量值。

输出格式

输出一个实数,表示所有Boss被攻击的最大总时间,保留6位小数。

样例

样例输入

样例1:  

  

1 1  

  

2 2  

  

1 1 5 3 2 1 2  

  

   

  

样例2:  

  

2 4  

  

12 10  

  

7 5  

  

10 10 12 10 1 1 3  

  

6 1 8 10 1 2 3  

  

3 6 8 2 5 3 1  

  

42 42 42 42 6 6 6  

样例输出

样例1:  

  

0.894427  

  

   

  

样例2:  

  

4.983771  

数据范围与提示

对于30%的数据,保证每个Boss在任意时刻只在最多一架小飞机的射程范围内。对于100%的数据,1≤N,M≤20,输入的所有数均为正整数,且不超过1000。