B. 营救奶牛

    传统题 1000ms 256MiB

营救奶牛

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

说明

本题不再额外提供样例文件。

题目描述

nn 头奶牛被困在了 nn 个房间中,每个房间都上了锁。

房间编号为 11 ~ nn,每个房间里放着一把钥匙,每把钥匙上写着一个数字,具体地,房间 ii 的钥匙上写着数字 ti1tint_i(1 ≤ t_i ≤ n),表示这把钥匙可以打开房间 tit_i 的锁。任意两个不同房间里的钥匙上所写的数字都是不同的。

约翰去营救这些奶牛。他可以选择暴力打开房间,也可以选择拿到钥匙后用钥匙打开房门。暴力开门是很费劲的,约翰希望暴力破开的房门不超过 kk 扇。

聪明的约翰已经计算出,房间中存放钥匙的可能情况一共有 n!n! 种。他想知道,其中有多少种情况,他可以在暴力破门不超过 kk 扇的前提下,成功地营救出所有奶牛。

自然地,这个任务交给了你。答案可能很大,你只需要输出答案 mod 998244353998244353 的值。

输入格式

一行,两个正整数 nnkk

输出格式

一行,一个整数,表示答案 mod 998244353998244353 的值

输入样例1

3 1

输出样例1

2

样例1解释

样例中,共有 3 个房间,约翰最多只能暴力打开 1 扇门。

共有 6 种情况,其中有 2 种情况可以营救出所有奶牛:


    1 号房间   2 号房间   3 号房间   营救方案

ti:1 号钥匙   2 号钥匙   3 号钥匙   无法营救出所有奶牛
ti:1 号钥匙   3 号钥匙   2 号钥匙   无法营救出所有奶牛
ti:2 号钥匙   1 号钥匙   3 号钥匙   无法营救出所有奶牛
ti:2 号钥匙   3 号钥匙   1 号钥匙   暴力破开 1 号房间,拿到钥匙后就可以依次去营救其他奶牛了
ti:3 号钥匙   1 号钥匙   2 号钥匙   暴力破开 1 号房间,拿到钥匙后就可以依次去营救其他奶牛了
ti:3 号钥匙   2 号钥匙   1 号钥匙   无法营救出所有奶牛

输入样例2

10 5

输出样例2

3555161

输入样例3

2333 1234

输出样例3

123006005

数据范围

2026-05-09

未参加
状态
已结束
规则
OI
题目
4
开始于
2026-5-9 8:30
结束于
2026-5-9 12:00
持续时间
3.5 小时
主持人
参赛人数
7