#P16576. [Euc2024]Grove

[Euc2024]Grove

题目描述

你想在一块边长为 nn 的正方形草坪中种树。草坪四个顶点的笛卡尔坐标分别为

(0,0), (n,0), (0,n), (n,n).(0,0),\ (n,0),\ (0,n),\ (n,n).

树只能种在横、纵坐标均为整数的位置。

每棵树的根系会覆盖一个以种植位置为圆心、半径为 rr 的圆盘。所有圆盘都必须完整位于草坪内,可以与草坪边界相切;任意两个圆盘的内部不能相交,但允许它们在边界处相切。

请找出一种种植方案,使种下的树的数量最大。

输入格式

输入仅一行,包含一个整数 nn 和一个实数 rr

  • 1n201\le n\le 20
  • 0<rn20<r\le \dfrac n2

rr 使用十进制表示,小数点后至少有 11 位、至多有 33 位数字。

输出格式

第一行输出能够种植的最大树木数量 mm

接下来 mm 行,每行输出两个整数 x,yx,y,表示一棵树的种植坐标。

树木可以按任意顺序输出。若存在多种最优方案,输出任意一种即可。

样例 1

输入

6 1.241

输出

2
4 2
2 4

说明

样例输出对应的方案如下图所示。它不是唯一的最优方案。

样例 1

样例 2

输入

9 2.0

输出

4
2 2
7 2
2 6
6 6

说明

样例输出对应的方案如下图所示。它不是唯一的最优方案。

样例 2