P16164 [ICPC 2015 NAIPC] Area of Effect
题目描述
Liam(angryneeson52)正在玩他最喜欢的塔防游戏!这个游戏需要他在保卫自己村庄的同时,摧毁对手的随从。
Liam 最喜欢的攻击方式是范围攻击。范围攻击是一个完美的圆形。Liam 只需选择一个圆心和半径,所有位于该圆内或圆上的随从都会被摧毁!随从足够小,可以被视为点。
游戏并不像摧毁所有随从那么简单。Liam 还必须避免攻击击中自己的村庄。攻击可以触及村庄的墙壁,但不能进入村庄内部。村庄也是完美的圆形。
Liam 的攻击还有最大半径限制。攻击半径可以缩小,但不能超过最大值。
请确定 Liam 在一次攻击中,在不损坏任何自己村庄的前提下,最多可以摧毁多少随从。
输入格式
每个输入包含单个测试用例。请注意,你的程序可能会在不同输入上多次运行。每个输入的第一行包含三个空格分隔的整数 $n$、$m$、$r$,其中:
- $n$($1 \leq n \leq 10$)是 Liam 的村庄数量
- $m$($1 \leq m \leq 2000$)是对手的随从数量
- $r$($1 \leq r \leq 20000$)是 Liam 范围攻击的最大半径
接下来的 $n$ 行,每行包含三个空格分隔的整数 $vx$、$vy$、$vr$,表示 Liam 一个村庄的位置($-20000 \leq vx, vy \leq 20000$)和半径($1 \leq vr \leq 20000$)。没有两个村庄相交或重叠。
接下来的 $m$ 行,每行包含两个空格分隔的整数 $mx$、$my$,表示一个敌方随从的位置($-20000 \leq mx, my \leq 20000$)。没有两个随从占据同一个点,并且没有敌方随从位于 Liam 的任何村庄内部。
输出格式
输出一个整数,表示 Liam 一次攻击最多可以摧毁的敌方随从数量。
说明/提示
翻译由 DeepSeek V3.2 完成