#P2062. 磁力块

磁力块

磁力块 (magnet.pas/c/cpp) 题目描述 在一片广袤无垠的原野上,散落着 N 块磁石。每个磁石的性质可以用一个五元组 (x,y,m,p,r)描述,其中 x,y表示其坐标,m是磁石的质量,p是磁力,r是吸引半径。若磁石 A与磁石 B的距离不大于磁石 A的吸引半径,并且磁石 B的质量不大于磁石 A的磁力,那 么 A可以吸引 B。 小取酒带着一块自己的磁石 L来到了这篇原野的(x0,y0)处,我们可以视为磁石 L的坐 标为(x0,y0)。小取酒手持磁石 L并保持原地不动,所有可以被 L吸引的磁石将会被吸引过 来。在每个时刻,他可以选择更换任意一块自己已经获得的磁石(当然也可以是自己最初携 带的 L磁石)在(x0,y0)处吸引更多的磁石。小取酒想知道,他最多能获得多少块磁石呢? 输入格式 第一行五个整数 x0,y0,pL,rL,N,表示小取酒所在的位置,磁石 L磁力、吸引半径和原野 上散落磁石的个数。 接下来 N行每行五个整数 x,y,m,p,r,描述一块磁石的性质。 输出格式 输出一个整数,表示最多可以获得的散落磁石个数(不包含最初携带的磁石 L)。 样例输入 0 0 5 10 5 5 4 7 11 5 -7 1 4 7 8 0 2 13 5 6 2 -3 9 3 4 13 5 1 9 9 样例输出 3 数据范围与约定 对于 30%的数据,1<=N<=1000。 对于另外 30%的数据,p=r。 对于 100%的数据,1<=N<=250000,-10^9<=x,y<=10^9,1<=m,p,r<=10^9。