C1516 [NOI2003]智破连环阵

内存限制:256 MB 时间限制:6000 ms

题目描述

B 国在耗资百亿元之后终于研究出了新式武器——连环阵(Zenith Protected Linked Hybrid Zone)。传说中,连环阵是一种永不停滞的自发性智能武器。但经过 A 国间谍的侦察发现,连环阵其实是由 $M$ 个编号为 $1,2,\cdots,M$ 的独立武器组成的。最初,$1$ 号武器发挥着攻击作用,其他武器都处在无敌自卫状态。以后,一旦第 $i(1 \le i< M)$ 号武器被消灭,$1$ 秒种以后第 $i+1$ 号武器就自动从无敌自卫状态变成攻击状态。当第 $M$ 号武器被消灭以后,这个造价昂贵的连环阵就被摧毁了。

为了彻底打击 B 国科学家,A 国军事部长打算用最廉价的武器——炸弹来消灭连环阵。经过长时间的精密探测,A 国科学家们掌握了连环阵中 $M$ 个武器的平面坐标,然后确定了 $n$ 个炸弹的平面坐标并且安放了炸弹。每个炸弹持续爆炸时间为 $5$ 分钟。在引爆时间内,每枚炸弹都可以在 瞬间 消灭离它平面距离不超过 $k$ 的、处在攻击状态的 B 国武器。和连环阵类似,最初 $a_1$ 号炸弹持续引爆 $5$ 分钟时间,然后 $a_2$ 号炸弹持续引爆 $5$ 分钟时间,接着 $a_3$ 号炸弹引爆……以此类推,直到连环阵被摧毁。

显然,不同的序列 $a_1,a_2,a_3,\cdots$ 消灭连环阵的效果也不同。好的序列可以在仅使用较少炸弹的情况下就将连环阵摧毁;坏的序列可能在使用完所有炸弹后仍无法将连环阵摧毁。现在,请你决定一个最优序列 $a_1,a_2,a_3,\cdots$ 使得在第 $a_x$ 号炸弹引爆的时间内连环阵被摧毁。这里的 $x$ 应当尽量小。

输入格式

第一行包含三个整数:$M、n$ 和 $k(1 \le M, n \le 100,1 \le k \le1000)$,分别表示 B 国连环阵由 $M$ 个武器组成,A 国有 $n$ 个炸弹可以使用,炸弹攻击范围为 $k$。以下 $M$ 行,每行由一对整数 $x_i,y_i(0 \le x_i,y_i \le 10000)$ 组成,表示第 $i(1 \le i \le M)$ 号武器的平面坐标。再接下来 $n$ 行,每行由一对整数 $u_i,v_i(0 \le u_i,v_i \le10000)$ 组成,表示第 $i(1\le i \le n)$ 号炸弹的平面坐标。输入数据保证随机、无误、并且必然有解。

输出

第一行包含一个整数 $x$,表示实际使用的炸弹数。第二行包括 $x$ 个整数,依次表示 $a_1,a_2,\cdots,a_x$。

样例

样例输入 1

4 3 6 0 6 6 6 6 0 0 0 1 5 0 3 1 1 0 0

样例输出 1

2 1 3

样例输入 2

10 10 45 41 67 34 0 69 24 78 58 62 64 5 45 81 27 61 91 95 42 27 36 91 4 2 53 92 82 21 16 18 95 47 26 71 38 69 12 67 99 35 94

样例输出 2

5 6 2 1 3 4

提示

【评分标准】

如果你的输出不合法,则只能得 $0$ 分。否则设已知最优解为 $best$,你的答案为 $ans$,则你的得分取决于二者之差 $ans-best$:

$score= \begin{cases} 18,ans-best<-32 \\ 17,-32\le ans-best \le -16 \\15,-15\le ans-best\le -7 \\ 13,-6\le ans-best\le -4 \\ 12 ,-3\le ans-best\le -2 \\ 11,ans-best=-1 \\ 10,ans-best=0 \\ 9,ans-best=1 \\ 8,2 \le ans-best\le 3 \\ 7,4\le ans-best\le 6 \\ 5,7 \le ans-best \le 15 \\ 3,16 \le ans-best \le 32 \\ 2,ans-best>32\end{cases}$

注意如果按照上面的计算方法,你在一个测试点中的得分可能超过 $10$。但如果你在这道题目中的得分如果计算出来大于 $100$ 分,我们将会按照 $100$ 分来算。所以该道题目的最大的分还是 $100$ 分。