#SLT07B. 2026年S组模拟赛10连测第7场-T2 程老师的回位礼物

2026年S组模拟赛10连测第7场-T2 程老师的回位礼物

项目 内容
输入文件名 giftbox.in
输出文件名 giftbox.out
可执行文件名 giftbox
每个测试点时限 1.0 秒
内存限制 512 MiB
测试点数目 20
是否等分 是

结果比较方式为全文比较(过滤行末空格及文末换行)。

题目描述

年会的礼品台设在校礼堂东侧。台面上从左到右排开 nn 个摆放位,位置按 1∼n1 \sim n 编号;台面下层的储物格里备着 nn 个礼盒,礼盒同样按 1∼n1 \sim n 编号,编号相同的礼盒与位置是配好对的。布场时,工作人员把礼盒 ii 放在位置 ii 上,每个位置放一个礼盒。

抽奖环节开始前,工作人员重新摆放了全部礼盒:每个位置恰好放着一个礼盒,每个礼盒恰好占着一个位置。两套摆法被认为不同,当且仅当至少有一个位置上放的礼盒编号不同。程老师在核对礼品台时,把"位置 jj 上摆着的礼盒编号正好是 jj"这一情形记为一次回位。

程老师想知道:若重新摆放后恰好有 kk 个礼盒回位,符合要求的摆法有多少种。摆法数可能很大,只需给出它对 998244353998244353 取模后的结果。程老师给出 qq 组 nn 与 kk,请依次回答。

输入格式

从文件 giftbox.in 中读入数据。

  • 第一行一个整数 qq,表示询问组数;
  • 接下来 qq 行,每行两个整数 n,kn, k,含义如题面所述。

输出格式

输出到文件 giftbox.out 中。

输出 qq 行,每行一个整数,第 ii 行是第 ii 组询问的答案,即摆法数对 998244353998244353 取模的结果。

样例

2
3 1
4 0
3
9

样例 1 解释

第一组 n=3,k=1n = 3, k = 1:先在 33 个位置里挑出有礼盒回位的那一个,有 33 种挑法;剩下两个礼盒要都不在原位,只能彼此互换,只有一种摆法;共 3×1=33 \times 1 = 3 种。

第二组 n=4,k=0n = 4, k = 0:四个礼盒都不能摆在自己编号对应的位置上,分两种情形。若礼盒 11 与另一个礼盒互换去向——礼盒 11 摆到那个礼盒的位置上、那个礼盒摆到位置 11 上——则剩下两个礼盒也只能互换;与礼盒 11 互换的礼盒有 33 种选法,共 33 种。若四个礼盒首尾相接地绕成一圈错送——礼盒 11 摆到某个礼盒的位置上,那个礼盒再摆到下一个礼盒的位置上,绕一整圈后回到位置 11——则从礼盒 11 起按这一圈的次序读过去,后面三个礼盒的先后次序可以任取,共 3×2×1=63 \times 2 \times 1 = 6 种。两部分相加得 99 种。

2
4 1
4 4
8
1

样例 2 解释

第一组 n=4,k=1n = 4, k = 1:挑出回位的那个礼盒有 44 种挑法;剩下 33 个礼盒都不能在原位,先定下其中一个礼盒的去向——它只能去另外两个礼盒的位置之一,有 22 种选法,它的去向确定后其余两个礼盒的摆法也随之确定;共 4×2=84 \times 2 = 8 种。

第二组 n=4,k=4n = 4, k = 4:四个礼盒全部回位,即布场时的那一套摆法,只有 11 种。

数据范围

对于所有测试数据,保证:

  • 1≤q≤1051 \le q \le 10^5;
  • 1≤n≤1061 \le n \le 10^6,0≤k≤n0 \le k \le n。

各测试点的约束如下:

测试点 qq nn 特殊性质
1∼21\sim2 =1=1 =8=8 无
3∼63\sim6 ≤50\le 50 ≤12\le 12
7∼107\sim10 ≤100\le 100 ≤300\le 300
11∼1411\sim14 ≤104\le 10^4
15∼1815\sim18 ≤105\le 10^5 ≤106\le 10^6
1919 A
2020 B
  • 特殊性质 A:每组询问都满足 k=0k = 0。
  • 特殊性质 B:每组询问都满足 k=nk = n。
难度 未评定
通过率 —
尝试 0
通过 0
ID
3794
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者