#P1356. Grandpa's Other Estate

Grandpa's Other Estate

题目描述

从之前的比赛中我们了解到,信徒卡姆兰Kamran(Kamran)继承了他祖父的许多遗物。显然,他的祖父生前是一位热衷于解谜的数学家,因为他又给卡姆兰出了一道编程题!

祖父有一个大花园,里面种着许多珍贵的核桃树。他在遗嘱中写明,卡姆兰可以继承花园里一块给定大小的正方形土地,且这块土地的边要与 xx 轴和 yy 轴平行。由于遗嘱中没有提到其他限制条件,卡姆兰想选择一块包含最多核桃树的土地。如今的卡姆兰十分富有,因此也变得很懒惰,不愿花时间去解决这个算法问题。于是,他雇你来帮他解决这个问题。

已知大花园里所有核桃树的位置以及要选择的土地的大小。你需要编写一个程序,找出应该选择哪块土地,使得这块土地内包含的核桃树数量最多。你可以将核桃树看作平面上的点,将土地看作一个正方形。你要找出这个正方形的位置,使其尽可能多地包含这些点。注意,正方形边界上的点也被视为在正方形内部。

输入

输入文件的第一行包含一个整数 tt1t101 \leq t \leq 10),表示测试用例的数量,随后是每个测试用例的输入数据。每个测试用例的第一行包含一个整数 nn1n1001 \leq n \leq 100),表示核桃树的数量,以及一个整数 rr1r10001 \leq r \leq 1000),表示土地的边长。接下来的 nn 行,每行包含两个整数 xxyy0x,y1000000 \leq x, y \leq 100000),表示一棵核桃树的坐标。注意,所有坐标都是两两不同的。

输出

每个测试用例应输出一行,包含卡姆兰能够拥有的最多核桃树的数量。

输入样例

1 
3 1 
1 2 
2 1 
4 3 

输出样例

2 

题目来源

德黑兰 2002 年竞赛题目