bzoj#P4834. [Lydsy2017年4月月赛]量子破碎
[Lydsy2017年4月月赛]量子破碎
题目描述
这里省略对游戏情节的剧透,有兴趣可以去 Steam 上搜索 Quantum Break。你被请来帮助小 Q 同学决策一个游戏场景的操作。假设主角位于三维空间的原点,有 个敌人向他射击,其中第 个敌人可以对主角产生 点伤害。此外,空间中还有 个装有时元粒子的桶,其中引爆第 个桶可以使以第 个桶为中心,半径为 的球型区域内部的时间静止一段时间,这也意味着子弹在球型区域内无法运动(不包括子弹轨迹与区域相切的情况)。主角需要利用时光机器回到过去去拯救他的兄弟,现在时光机器正在原点启动,而他要在原地保护时光机器的启动过程,这意味着他只能在原地使用时间能力来防御攻击。小 Q 可以操纵主角在这个场景使用两种时间能力,时间引爆和时间护盾。一次时间引爆可以引爆一个桶,引爆不受到时间静止的影响,这意味着主角可以成功引爆一个已经在时间静止区域内的桶。而时间护盾则是在以使用者本身为中心的一定区域内产生时间静止,从而抵御子弹的伤害。给出每个敌人和桶的信息,假设杰克已经引爆所有的桶,但是其中 个桶的时间静止效果即将消失,你需要计算杰克在这种情况下要用时间护盾抵御的伤害之和的最大值 。为了简化问题,你只需要输出 ,其对 取模的值而不是每个 。时间是一种强大的力量,它也是头号杀手。注意时间限制与空间限制。
输入格式
第一行包含一个正整数 ,表示有 组数据 。
接下来是测试数据。对于每组测试数据:
第一行包含两个正整数 和 。
接下来 行给出敌人的信息,其中第 i 行包含四个整数 ,表示第 个敌人的坐标是 其能对主角造成的伤害是 。
接下来 行给出桶的信息,其中第 行包含四个整数 ,表示第 个桶的坐标是 其爆炸的半径是 。
输出格式
对于每组测试数据,输出一行一个非负整数,表示这组数据的答案。
样例输入
1
1 5
1 1 2 7
1 2 0 2
-1 8 -1 8
-2 -3 5 6
-2 1 3 3
-4 2 3 5
样例输出
105
数据范围与约定
不超过 组数据满足 ,不超过 组数据满足 。
对于 的数据,, ,,,。
保证所有给出的点(包括主角的位置)互不相同。
题目来源
鸣谢 Tangjz 提供试题