luogu#P8910. [RC-06] Operation Sequence

[RC-06] Operation Sequence

题目描述

给出 nn,以及一个长度为 n+1n+1 的数组 [a1,a2,,an+1][a_1,a_2,\dots,a_{n+1}],初始时 ai=i (1in)a_i=i\ (1\le i\le n)an+1=0a_{n+1}=0

你只能进行以下一种操作,通过输出特定字符串完成操作:

  • 输出 i j :其中 i,ji,j 为正整数,要求 1i,jn+11\le i,j\le n+1,表示把 aia_i 赋值为 aja_j

请把 aa 数组的前 nn循环移位 KK 位;即,在执行完毕你输出的所有操作后,要求 aa 数组第 i (1iK)i\ (1\le i\le K) 位等于 nK+in-K+i;第 i (K+1in)i\ (K+1\le i\le n) 位等于 iKi-K,第 n+1n+1 位任意。你只能进行至多 T=1.5nT=\lfloor1.5n\rfloor 次赋值操作。

如果你进行的操作数多于 TT 也可以获得部分分,具体地,设你的操作次数为 SS

  • 如果 STS\le T,得 100100 分。
  • 如果 T<S4TT<S\le 4T,得 5050 分。
  • 如果 S>4TS>4T,得 00 分。

你在本题的得分是所有测试点中所有数据里得分的最小值。

输入格式

本题单个测试点内有多组数据。

第一行是数据组数 TT

对于每组数据:

第一行两个正整数 n,Kn,K

输出格式

对于每组数据:

在第一行输出操作数 k (0k4T)k\ (0\le k\le 4T)请注意,不需要最小化 kk

接下来 kk 行,每行输出两个正整数 i,ji,j,表示一次操作。(1i,jn+1)(1\le i,j\le n+1)

2
3 0
2 1
0
3
3 1
1 2
2 3

提示

所有数据均满足:1T1041\le T\le 10^41n1051\le n\le 10^50Kn10\le K\le n-1。保证同一个测试点中所有 nn 的和不超过 5×1055\times 10^5