#CF1949A. 树林

    ID: 6580 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>搜索枚举DFS计算几何概率论动态规划*3300

树林

A. 树林

单个测试点时间限制44单个测试点内存限制256256 兆字节

你要在一块大小为 n×nn\times n 的正方形草坪上种树,草坪四个角的笛卡尔坐标为 (0,0)(0,0)(n,0)(n,0)(0,n)(0,n)(n,n)(n,n)。 树只能种在整数坐标的位置上。

每棵树都会以种植点为中心,在一个半径为 rr 的圆内生长根系;这个圆必须完全包含在草坪内(可以贴着边界),且任意两个圆只能在边界处相交(即圆心距 2r\ge 2r,不能重叠)。

请找出一种种植方案,使得树的数量最多


输入格式

唯一一行包含两个数:

  • 整数 nn1n201\le n\le 20
  • 实数 rr0<rn20<r\le \dfrac n2

实数 rr 以十进制形式给出,小数点后有 1133 位数字。


输出格式

第一行输出最多能种植的树的数量 mm

接下来 mm 行,每行输出两个整数 x,yx,y,表示一棵树的种植坐标。 顺序任意,多解时输出任意一种即可。


样例输入 1

6 1.241

样例输出 1

2
4 2
2 4

样例输入 2

9 2.0

样例输出 2

4
2 2
7 2
2 6
6 6

说明

第一个样例中,两棵树的圆心距恰好大于 2r2r,且圆都在正方形内。 第二个样例中四棵树满足所有约束,是数量最多的方案之一。