Farm Game

农场游戏

题目描述

Lunatic Princess - Touhou

农夫 Nhoj 带着他的牛来到农夫 John 的农场玩游戏!农夫约翰的农场可以用一条数线来模拟,数线上的墙分别位于 $ 0 $ 和 $ l + 1 $ 两点。农场上有 2n 头奶牛,其中 n 头属于 FJ,另外 n 头属于 FN。他们把每头牛都放在一个不同的点上,没有两头 FJ 或 FN 的牛是相邻的。如果两头奶牛之间没有其他奶牛,它们就是相邻的。

形式上,如果 $ a_1, a_2, \ldots, a_n $ 表示 FJ 的奶牛的位置,$ b_1, b_2, \ldots, b_n $ 表示 FN 的奶牛的位置、 那么要么 $ 0 < a_1 < b_1 < a_2 < b_2 < \ldots < a_n < b_n < l + 1 $ 或者 $ 0 < b_1 < a_1 < b_2 < a_2 < \ldots < b_n < a_n < l + 1 $ 。

在一次移动中,农民选择一个数字 $ k $ (1 \leq k \leq n) $ 和一个方向(左或右)。然后,该农夫选择 $ k $ 他的奶牛,并将它们朝所选方向移动一个位置。农场主不能把他的奶牛移到墙上或其他农场主的奶牛上。如果一位农民不能移动任何奶牛,那么他就输了。FJ 开始游戏,进行第一轮。

给定 $ l $ 和 $ n $,求如果两个农夫都以最佳方式进行游戏,农夫约翰可能获胜的游戏配置数。博弈可能会无限期地进行下去,在这种情况下,没有农民获胜。如果存在任意 $ i $,使得 $ a_i $ 或 $ b_i $ 不同,则一种配置与另一种配置不同。输出答案 modulo $ 998,244,353 $ .

输入格式

第一行包含 $ t $ ( $ 1 \leq t \leq 10^4 $ ) - 测试用例的数量。

每个测试用例包含两个整数 $ l $ 和 $ n $ ($ 2 \leq l \leq 10^6, 1 \leq n \leq \lfloor \frac{l}{2} \rfloor $ )--数字线的长度和每个农夫要放置的奶牛数量。

保证所有测试案例中 $ l $ 的总和不超过 $ 10^6 $ .

输出格式

对于每个测试用例输出一个整数:如果两个农民都以最优方式进行游戏,则农民约翰获胜的游戏配置数,模为 $ 998,244,353 $ .

样例 #1

样例输入 #1

3
2 1
3 1
420 69

样例输出 #1

0
2
870279412

提示

让 J 表示 FJ 的奶牛,N 表示 FN 的奶牛,_ 表示空格。

对于第一个测试案例,两种可能的配置是 JN 或 NJ。在这两种情况下,由于 FJ 是第一轮,不能下任何棋,所以他不能赢。

对于第二种情况,FJ 有两种可能获胜的配置: N_J 和 J_N.

posted @ 2024-06-18 14:51  GuTongXing  阅读(229)  评论(0)    收藏  举报