#1793. 4个列里“和”为0的方案数(sum)

4个列里“和”为0的方案数(sum)

题目描述

有四个给定的整数列A, B, C, D,希望你能求出有多少种四元组(A, B, C, D)使得A + B + C + D = 0。我们保证四列的大小都为n,当一个数列有多个相同数字时,将他们作为不同的方案看待。

输入格式

从文件 sum.in 中读入数据。

输入文件的第一行包含列表n的大小,然后我们有n行包含4个整数值,分别属于A, B, C和D列。

输出格式

输出到文件 sum.out 中。

对于每个输入,程序需要求出和为零的方案数。

样例1

2 
0 2 3 -5 
0 4 4 4
2

示例说明1

A列的值为(0,0)(0,0) B列的值为(2,4)(2,4) C列的值为(3,4)(3,4) D列的值为(5,4)(-5,4) 两种方案分别是A取第一个0、B取2、C取3、D取-5、A+B+C+D总和为0;和A取第二个0,B取2、C取3、D取-5、A+B+C+D总和为0。

样例2

6
-45 22 42 -16
-41 -27 56 30
-36 53 -37 77
-36 30 -75 -46
26 -38 -10 62
-32 -54 -6 45
5

示例说明2

以下五种方案的和为零:(45,27,42,30)(-45, -27, 42, 30)(26,30,10,46)(26,30,-10,-46)(32,22,56,46)(-32,22,56,-46)(32,30,75,77)(-32,30,-75,77)(32,54,56,30)(-32,-54,56,30)

样例3

20
-48 -41 33 -21
36 -22 -32 -44
-24 -34 -39 13
-6 -22 -14 -34
10 10 -30 5
6 40 16 20
34 -46 -26 -27
-38 38 -6 -30
33 -42 -48 -19
-20 -30 -10 30
-45 -31 -19 -14
22 -2 42 -30
42 6 27 18
-34 36 4 30
-15 15 -30 -30
-50 46 -30 34
-37 -41 49 -6
32 26 -24 46
-20 26 -23 8
10 30 -30 10

1156

对于30%样例 n<=40, 所有列里的整数值绝对值<=50。

对于60%样例 n<=200, 所有列里的整数值绝对值<=500。

对于100%样例 n<=2000, 所有列里的整数值绝对值<=5000。