【题目描述】
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 |