#P16627. [GKS 2017 #E] Trapezoid Counting

[GKS 2017 #E] Trapezoid Counting

题目描述

在本问题中,我们定义梯形为恰好有一对平行边的凸四边形。如果两条非平行边的长度相等,则称该梯形为等腰梯形

你有一些不同长度的木棍,需要恰好选择四根木棍,用它们作为四条边拼成一个等腰梯形。有多少种不同的四根木棍的组合能够实现这一点?即使两根木棍长度相同,它们也被视为不同的木棍。木棍不能弯曲或折断。

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例;每个测试用例由两行组成。第一行包含一个整数 NN,表示木棍的数量。第二行包含 NN 个整数,其中第 ii 个整数 LiL_i 表示第 ii 根木棍的长度。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是能够组成等腰梯形的不同四根木棍组合的数量。

4
5
2 3 3 4 3
4
1 5 3 1
4
2 2 3 3
9
3 4 1 4 2 5 3 1 3
Case #1: 5
Case #2: 0
Case #3: 0
Case #4: 73

提示

在样例 #1 中,从给定的五根木棍中选出四根共有五种方式,且这五种组合中的每一种都可以构成一个等腰梯形。

在样例 #2 中,注意集合 {1,1,3,5}\{1, 1, 3, 5\} 无法构成等腰梯形,尽管其中有两根木棍长度相等。

在样例 #3 中,注意集合 {2,2,3,3}\{2, 2, 3, 3\} 可以构成一个矩形,但在本题中,矩形不被视为等腰梯形。

限制条件

1T1001 \le T \le 100

1Li1091 \le L_i \le 10^9

小数据集(测试集 1 – 可见)

1N501 \le N \le 50

大数据集(测试集 2 – 隐藏)

1N50001 \le N \le 5000

翻译由 DeepSeek V4 Pro 完成