#P9891. [ICPC 2018 Qingdao R] Repair the Artwork
[ICPC 2018 Qingdao R] Repair the Artwork
Description
DreamGrid 有一条纸带,上面有 个格子排成一行,他在一些格子上画了一些美丽的图案。不幸的是,他淘气的室友 BaoBao 在他不在家的时候在其他一些格子上画了一些其他图案。现在 DreamGrid 需要在不破坏自己图案的情况下擦除 BaoBao 的图案。
我们将格子从左到右编号为 1 到 。每个格子要么包含 DreamGrid 的图案,要么包含 BaoBao 的图案,要么是空的。
每次,DreamGrid 可以选择两个整数 和 (每次选择可以不同),使得
- ,并且
- 对于所有 ,第 个格子要么包含 BaoBao 的图案,要么是空的,
然后将所有 的第 个格子变为空格子。
DreamGrid 有多少种方法可以通过执行上述操作恰好 次将所有包含 BaoBao 图案的格子变为空格子?由于答案可能很大,请输出答案对 取模的结果。
设 是一个有效的擦除序列(),其中 表示 DreamGrid 在第 次操作中选择整数 和 。设 是另一个有效的擦除序列(),其中 表示 DreamGrid 在第 次操作中选择整数 和 。如果存在一个整数 ()使得 或 ,则这两个序列被认为是不同的。
Input Format
有多个测试用例。输入的第一行包含一个整数 (),表示测试用例的数量。对于每个测试用例:
第一行包含两个整数 和 (,),表示格子的数量和操作的次数。
第二行包含 个整数 ()。
- 如果 ,第 个格子是空的。
- 如果 ,第 个格子包含 DreamGrid 的图案。
- 如果 ,第 个格子包含 BaoBao 的图案。
保证最多有 50 个测试用例满足 。
Output Format
对于每个测试用例,输出一行,包含对 取模的方式数量。
3
2 2
2 0
3 2
2 1 0
3 1
2 1 0
8
3
1
Hint
题面翻译由 ChatGPT-4o 提供。
京公网安备 11011102002149号