#eFTPPlydlt60x6803. 导弹防御塔
导弹防御塔
好的,这是整理好的题面,不含解题思路,只包含样例解释。
题目描述
Freda 的城堡遭受了 个入侵者的攻击!
Freda 控制着 座导弹防御塔,每座塔都有足够数量的导弹,但是每次只能发射一枚。
导弹发射规则:
- 导弹需要 秒才能从防御塔中射出(注意单位)。
- 发射一枚导弹后,该防御塔需要 分钟来冷却(不能再次发射)。
- 所有导弹飞行速度相同为 ,沿最短路径(水平距离)飞行。
- 导弹飞行时间 = 距离 / (分钟)。
- 导弹击中目标后可以立即摧毁目标。
给出 座导弹防御塔的坐标、 个入侵者的坐标、。
你需要求出至少多少分钟才能击退所有入侵者(即所有导弹从开始发射到最后一个导弹击中目标所需时间)。
输入格式
第一行五个正整数 。
接下来 行,每行两个整数,代表入侵者的坐标。
接下来 行,每行两个整数,代表防御塔的坐标。
注意: 单位为秒, 和导弹飞行时间单位为分钟,输出结果单位为分钟。
输出格式
输出一个实数,表示最少需要多少分钟,四舍五入保留六位小数。
数据范围
- 坐标绝对值不超过
- 不超过
输入样例
3 3 30 20 1
0 0
0 50
50 0
50 50
0 1000
1000 0
输出样例
91.500000
样例解释
(3 座塔),(3 个入侵者), 秒, 分钟,(距离单位/分钟)。
入侵者坐标:
- (0,0)
- (0,50)
- (50,0)
防御塔坐标:
- (50,50)
- (0,1000)
- (1000,0)
单位转换: 秒 = 分钟。
导弹攻击一个目标的总时间
导弹从塔发射到击中目标的时间 = 装填时间 (单位换算为分钟)+ 飞行时间(距离 / )。
但发射后的冷却 是对防御塔的限制,并不是导弹的发射间隔,而是同一座塔两次发射之间必须间隔至少 分钟(从发射时刻算起)。
假设塔 发射第 枚导弹( 从 1 开始),那么发射时刻至少为 分钟后(因为前一枚发射后要冷却 分钟才能发射下一枚),再加上从发射到击中的时间。
但实际优化中,要让最后一个导弹击中时间最小,需要合理安排哪个塔打哪个目标、第几次发射。
样例最优时间计算(简要)
每个塔可以发射多次,但同一塔发射间隔至少 分钟。
这里有 3 个塔 3 个目标,每个目标必须被一个导弹击中,所以最少需要 3 次发射,可以用不同塔在不同时间发射。
已知答案输出是 分钟,即最优安排下最后一个导弹击中目标的时间为 分钟。
这个时间是由最后一次发射的时间加上飞行时间得到的。
具体安排需要计算每座塔到每个目标的飞行时间,然后用二分+匹配判定可行性得到最小完成时间 。
输出:91.500000。