T793078 【C1159】 - 和为0的4个值
题目描述
SUM 问题可以表述如下:给定四个整数列表 A、B、C 和 D,计算满足以下条件的四元组 (a, b, c, d) ∈ A × B × C × D 的个数:
a + b + c + d = 0
以下假设所有列表的大小相同,均为 n。
输入格式
输入文件的第一行包含列表的大小 n(该值最大可以达到 4000)。随后有 n 行,每行包含四个整数值(绝对值最大可达 228),分别属于 A、B、C 和 D。
输出格式
程序需要输出四元组的数量,这些四元组的和为零。
说明/提示
样例 1 解释:确实,以下五个四元组的和为零:(-45, -27, 42, 30)、(26, 30, -10, -46)、(-32, 22, 56, -46)、(-32, 30, -75, 77)、(-32, -54, 56, 30)。
### 补充说明
`(a, b, c, d) ∈ A × B × C × D` 的含义是:
- **笛卡尔积**:`A × B × C × D` 表示四个列表 `A`、`B`、`C`、`D` 的笛卡尔积。
简单来说,笛卡尔积就是从每个列表中各取一个元素,形成一个四元组 `(a, b, c, d)`。
**举例**:如果 A = {1, 2}, B = {3}, C = {4}, D = {5, 6},那么 `A × B × C × D` 的所有可能组合是:
{(1, 3, 4, 5), (1, 3, 4, 6), (2, 3, 4, 5), (2, 3, 4, 6)}
- **四元组的范围**:`(a, b, c, d) ∈ A × B × C × D` 的意思是:
- `a` 是从 `A` 中选的一个元素,
- `b` 是从 `B` 中选的一个元素,
- `c` 是从 `C` 中选的一个元素,
- `d` 是从 `D` 中选的一个元素。
- **问题的核心**:在所有可能的四元组中,找出那些满足 `a + b + c + d = 0` 的组合。