#AT2023. C - Product
C - Product
当前没有测试数据。
C - 乘积
分数:$300$ 分
问题描述
有 $N$ 个袋子。
第 $i$ 个袋子里有 $L_i$ 个球。第 $i$ 个袋子的第 $j$ 个球 $(1\leq j\leq L_i)$ 上写着一个正整数 $a_{i,j}$。
我们需要从每个袋子中选出一个球。
有多少种选法可以使得选出的球的数字乘积为 $X$?
在这里,即使球上的数字相同也是不同的。
约束条件
- $N \geq 2$
- $L_i \geq 2$
- 袋子中球的数量的乘积至多为 $10^5$:$\displaystyle\prod_{i=1}^{N}L_i \leq 10^5$。
- $1 \leq a_{i,j} \leq 10^9$
- $1 \leq X \leq 10^{18}$
- 输入中的所有值都是整数。
输入
输入由标准输入给出,格式如下:
输出
打印出答案。
2 40
3 1 8 4
2 10 5
2
当从第一个袋子中选择第 $3$ 个球和从第二个袋子中选择第 $1$ 个球时,我们有 $a_{1,3} \times a_{2,1} = 4 \times 10 = 40$。
当从第一个袋子中选择第 $2$ 个球和从第二个袋子中选择第 $2$ 个球时,我们有 $a_{1,2} \times a_{2,2} = 8 \times 5 = 40$。
没有其他方法可以使得乘积为 $40$,所以答案是 $2$。
3 200
3 10 10 10
3 10 10 10
5 2 2 2 2 2
45
请注意,即使球上的数字相同,也是不同的。
3 1000000000000000000
2 1000000000 1000000000
2 1000000000 1000000000
2 1000000000 1000000000
0
可能没有办法使乘积为 $X$。
```