Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:1024 MB
Statistics

【题目描述】
Ava 收到了粉丝的若干包硬币,其中每包都有 k 枚硬币。有一包装的全是假硬币,其 他包中装的均为真硬币。假硬币和真硬币除了重量都一样,假硬币更重,硬币重量是正 实数。
Ava 有一个电子天平,可以用它打算进行 m 次称量。形式化地,每次称量时,Ava 可 以指定两个交为空的硬币集合 A 和 B,天平会称出 W(A)−W(B) 的精确值,其中 W(A) 表示 A 集合中的硬币质量和。 .称 .量 .的 .硬 .币 .可 .以 .来 .自 .任 .何 .的 .包。
Ava 比较呆,所以她希望你帮忙给出一个不超过 m 次称量的称量计划,来确定哪一 包装的是假硬币。你给出的称量计划必须是固定好的(即指定好了 2m 个称量的硬币集 合),并且一定可以唯一推断出装有假硬币的包。
想到这里,铸币 Ava 终于想起了没指定硬币的包数,所以她希望你输出能解决的最 大硬币包数,对 998244353 取模输出。称量计划就不用输出了。
【输入格式】
从文件 avavava.in 中读入数据。
第一行一个正整数 T,表示数据组数。
接下来 T 行每行两个整数 m, k,表示一组数据。
【输出格式】
输出到文件 avavava.out 中。
输出 T 行,每行表示这组数据中能分辨出的最多的硬币包数,对 998244353 取模输 出。
【样例 1 输入】

4
1 1
2 1
2 2
23 45
528 221
【样例 1 输出】

39
17
648619844
584344775
【样例 1 解释】
对于第一组数据,我们可以称量前两个硬币,如果重量不同重的就是假币,否则剩 下的就是假币。
【测试点约束】
对于所有测试点:$T ≤ 10,1 ≤ m, k ≤ 10^5$。
本题 .采 .用 .捆 .绑 .评 .测,你只有通过了一个子任务中的所有测试点才能得到该子任务的 分数。
每个子任务的具体限制见下表:
子任务编号 m, k ≤ 特殊限制 分数
1 $10^5$ k = 1 20
2 3 20
3 100 30
4 $10^5$ 30