#L3670. 「北大集训 2021」末日魔法少女计划

「北大集训 2021」末日魔法少女计划

题目描述
对于给定的 n,kn,k,你需要构造一个只含 0,10,1 的矩阵 Ai,jA_{i,j}0i,jn0\le i,j\le n,满足:

  1. Ai,i=1A_{i,i}=1
  2. Ai,i+1=1A_{i,i+1}=1
  3. i>ji>jAi,j=0A_{i,j}=0
  4. Ai,j=1A_{i,j}=1ji>1j-i>1,则存在 i<t<ji<t<j,满足 Ai,t=At,j=1A_{i,t}=A_{t,j}=1
  5. iji\le j(Ak)i,j>0(A^k)_{i,j}>0

你需要输出满足 Ai,j=1A_{i,j}=1ji>1j-i>1 的每个 (i,j)(i,j),设这样的 (i,j)(i,j) 共有 mm 个。

若输出不满足要求,则不能得到该测试点的任何分数。若输出满足要求,则根据 mm 进行评分。


输入格式
一行,两个整数 n,kn,k

输出格式
第一行一个整数 mm,接下来 mm 行,每行两个整数 i,ji,j,依次表示每个满足 Ai,j=1A_{i,j}=1ji>1j-i>1 的二元组 (i,j)(i,j)


样例
输入

3 2

输出

1
0 2

数据范围与提示
1900n20001900\le n\le 2000
2k152\le k\le 15

评分参数表:

kk f(k)f(k) s(k)s(k)
2 7.9870 22
3 3.8085 14
4 2.3960 11
5 1.9610 9
6 1.6065 7
7 1.4515 6
8 1.2540 5
9 1.1980
10 1.0995 4
11 1.0705
12 1.0345
13 1.0120 3
14 1.0015
15 0.9940

每个 2k152\le k\le 15 对应一个总分为 s(k)s(k) 的子任务,每个子任务的得分是子任务中每个测试点的得分的最小值。

每个测试点的得分为所在子任务的总分的

$$\max\left(0,1-\sqrt{\max\left(0,\frac{m}{n\cdot f(k)}-1\right)}\right) $$

倍。