P17732 [ICPC 2019 Xuzhou R] Cats line up
题目描述
今天,你来到了一个猫村。这个村子里有 $N$ 只猫。每只**猫都非常可爱**,并且所有 $N$ 只猫都非常聪明,它们排成了一排。
这个村子里的猫非常特别!!!为什么这么说呢?因为这些猫的身高互不相同,且都是 $1$ 到 $N$ 之间(包含两端)的整数。
众所周知,谁都不喜欢拍照时站在太高的人旁边,因为站在那样的人旁边会显得自己很矮。人是这样,猫也是如此。
每只猫都希望与它相邻的猫的身高差不超过 $K$。如果一只猫与它的每个邻居的身高差都不超过 $K$,它就会感到开心。
现在,给定这个村子里猫的数量以及猫所能接受的身高差 $K$,你能计算出有多少种让所有猫都开心的排队方式吗?
输入格式
第一行包含一个整数 $T$,表示你需要计算的 $(N, K)$ 的对数。
接下来的 $T$ 行,每行包含两个整数 $N$ 和 $K$。
- $1 \le T \le 10^5$
- $1 \le N \le 10^6$
- $1 \le K \le 3$
输出格式
对于每组测试数据,输出一行一个整数 $x$ —— 使得所有猫都开心的排队方案数对 $998244353$ 取模的结果。
说明/提示
翻译由 DeepSeek V4 Pro 完