#P17186. [ICPC 2017 Hong Kong R] Nearby Bicycles

[ICPC 2017 Hong Kong R] Nearby Bicycles

题目描述

随着信息和通信技术的快速发展,如今许多城市都建立了共享单车系统。该系统的核心功能之一是为潜在用户提供附近单车的信息。

假设有 mm 辆单车和 nn 名用户,每辆单车 jj 位于坐标 (cj,dj)(c_j, d_j)j=1,2,,mj = 1, 2, \dots, m;每名用户 ii 位于坐标 (ai,bi)(a_i, b_i)i=1,2,,ni = 1, 2, \dots, n。两个坐标 (x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2) 之间的距离按 (x1x2)2+(y1y2)2\sqrt{(x_1-x_2)^2 + (y_1-y_2)^2} 计算。对于每名用户 i=1,2,,ni = 1, 2, \dots, n,你会得到一个阈值 sis_i,任务是返回与用户 ii 距离在 sis_i 范围内的单车总数。

输入格式

输入可能包含多组测试数据。每组测试数据由四行组成。每组数据的第一行包含两个整数 mmnn0<m,n10000 < m, n \le 1000)。第二行按顺序包含单车 1,2,,m1, 2, \dots, m 的坐标 (c1,d1),(c2,d2),,(cm,dm)(c_1, d_1), (c_2, d_2), \dots, (c_m, d_m),坐标之间以空格分隔。第三行按顺序包含用户 1,2,,n1, 2, \dots, n 的坐标 (a1,b1),(a2,b2),,(an,bn)(a_1, b_1), (a_2, b_2), \dots, (a_n, b_n),坐标之间以空格分隔。第四行包含 nn 名用户的阈值 s1,s2,,sns_1, s_2, \dots, s_n。最后一组测试数据之后跟着一行两个 00。输入中的所有坐标数值均在 [100000,100000][-100000, 100000] 范围内。

输出格式

对于每组测试数据,输出一行 nn 个整数 k1,k2,,knk_1, k_2, \dots, k_n,其中每个 kik_i 表示与用户 ii 距离在 sis_i 范围内的单车总数,i=1,2,,ni = 1, 2, \dots, n

4 2
(0,0) (0,1) (1,0) (1,1)
(0,0) (1,1)
1 1
0 0
3 3

提示

翻译由 DeepSeek V4 Pro 完成