CF2040F.Number of Cubes
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个长方体,其长、宽、高分别为 a、b 和 c,由 k 种不同颜色的单位立方体填充组成。我们可以对这个长方体在任意三个方向执行任意次数的循环移位 ∗。
其中,第 i 种颜色的单位立方体数量为 di(其中 1≤i≤k)。请问:用这些立方体可以拼成多少种不同的长方体结构,使得没有哪两种结构可以通过任意组合的循环移位变得相同?
∗ 如图所示:
- 左上角是原始长方体的俯视图(下层与顶层保持同样的移动方式)。
- 右上角是向右移动 1 格后的长方体俯视图。
- 左下角是向下移动 2 格后的长方体俯视图。
- 右下角是分别向右移动 1 格并向下移动 2 格后的长方体俯视图。

输入格式
第一个输入为测试用例的数量 t(1≤t≤100)。接下来是每个测试用例的详细描述。
每个测试用例的第一行包含四个整数:a、b、c 和 k(其中 1≤a,b,c≤3⋅106;a⋅b⋅c≤3⋅106;1≤k≤106),表示组成长方体的三条边长及单位立方体的颜色数。
每个测试用例的第二行包含 k 个整数:d1,d2,…,dk(其中 1≤d1≤d2≤…≤dk≤3⋅106),代表每种颜色的立方体个数。
保证在每个测试用例中,所有 d 数组元素的和等于 a⋅b⋅c。
保证所有测试用例中,各颜色总数 k 的和不超过 106。
输出格式
对于每个测试用例,输出一个整数,表示不同长方体的数量对 998244353 取模后的结果。
输入输出样例
输入#1
6 1 1 1 1 1 6 1 1 3 1 2 3 12 1 1 3 2 4 6 3 3 1 2 3 6 2 3 3 2 6 12 72 60 96 4 17280 86400 120960 190080
输出#1
1 10 1160 12 1044 231490207
说明/提示
在第一个测试用例中,只有一个由一个单位立方体组成的长方体。
第二个测试用例中可能构成的长方体如图所示:

本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?