#P16164. [ICPC 2015 NAIPC] Area of Effect

[ICPC 2015 NAIPC] Area of Effect

题目描述

Liam(angryneeson52)正在玩他最喜欢的塔防游戏!这个游戏需要他在保卫自己村庄的同时,摧毁对手的随从。

Liam 最喜欢的攻击方式是范围攻击。范围攻击是一个完美的圆形。Liam 只需选择一个圆心和半径,所有位于该圆内或圆上的随从都会被摧毁!随从足够小,可以被视为点。

游戏并不像摧毁所有随从那么简单。Liam 还必须避免攻击击中自己的村庄。攻击可以触及村庄的墙壁,但不能进入村庄内部。村庄也是完美的圆形。

Liam 的攻击还有最大半径限制。攻击半径可以缩小,但不能超过最大值。

请确定 Liam 在一次攻击中,在不损坏任何自己村庄的前提下,最多可以摧毁多少随从。

输入格式

每个输入包含单个测试用例。请注意,你的程序可能会在不同输入上多次运行。每个输入的第一行包含三个空格分隔的整数 nnmmrr,其中:

  • nn1n101 \leq n \leq 10)是 Liam 的村庄数量
  • mm1m20001 \leq m \leq 2000)是对手的随从数量
  • rr1r200001 \leq r \leq 20000)是 Liam 范围攻击的最大半径

接下来的 nn 行,每行包含三个空格分隔的整数 vxvxvyvyvrvr,表示 Liam 一个村庄的位置(20000vx,vy20000-20000 \leq vx, vy \leq 20000)和半径(1vr200001 \leq vr \leq 20000)。没有两个村庄相交或重叠。

接下来的 mm 行,每行包含两个空格分隔的整数 mxmxmymy,表示一个敌方随从的位置(20000mx,my20000-20000 \leq mx, my \leq 20000)。没有两个随从占据同一个点,并且没有敌方随从位于 Liam 的任何村庄内部。

输出格式

输出一个整数,表示 Liam 一次攻击最多可以摧毁的敌方随从数量。

1 3 3
0 0 1
3 3
-3 3
3 -3
1
1 5 3
0 0 1
3 3
-3 3
3 -3
3 0
0 3
3
4 10 100
0 0 3
10 0 3
10 10 3
0 10 3
0 4
0 5
0 6
5 3
5 -3
5 5
6 7
3 6
10 4
8 4
5

提示

翻译由 DeepSeek V3.2 完成