#P1809. Regetni
Regetni
本题没有可用的提交语言。
题目描述
背景
你好,地球人。我们来自Regetni星球,需要你的帮助来赚大钱。也许我们甚至会分你一些。
你看,问题在于我们的世界里,一切都是关于整数的。这甚至是法律规定的。不允许使用其他任何数字。既然如此,我们使用整数坐标系来规划城市也就不足为奇了。到目前为止,只出售了与坐标轴对齐的矩形地块,但我们的教授Elgnairt最近提出了一个革命性的想法,也要出售三角形地块。我们相信上流社会会喜欢这个概念,它会让我们变得富有。
不幸的是,教授为他的想法申请了专利,因此我们不能直接这样做。我们需要他的许可,而他是一个真正的科学家,在我们解决一些该死的谜题之前,他不会给我们许可。这就是你发挥作用的地方,因为我们听说你是个天才。
问题
教授的谜题是这样的:给定一些可能的三角形顶点,确定可以用它们构建多少个面积为整数的三角形。退化的三角形(即面积为0的直线)也要计算在内,因为0是一个整数。更准确地说,计算从输入点集中选择三个不同点作为顶点的三角形的数量。一个场景中的所有点都是不同的,即不会有重复的点。以下是一些示例:
示例a)展示了一个面积为整数(即3)的三角形,b)展示了一个面积为非整数的三角形,c)展示了一个退化的三角形(即面积为0,所以要计算!),d)展示了四个点,你可以选择任意三个来构建一个面积为整数的三角形,e)展示了四个点,你无法构建任何面积为整数的三角形。
提示:三角形的面积可以这样计算:
尝试巧妙地利用这个公式。
输入格式
第一行包含场景的数量。对于每个场景,有一行首先给出该场景中不同点的数量(),然后是对整数,每对描述一个点,其中。所有这些数字都用单个空格分隔。
输出格式
每个场景的输出以一行"Scenario #i:"开始,其中是从1开始的场景编号。然后打印一行,包含以给定点中三个不同点为顶点的面积为整数的三角形的数量。每个场景的输出以一个空行结束。
输入样例1
6
3 0 0 2 0 1 -3
3 0 0 2 1 1 -3
3 0 0 2 2 3 3
4 0 0 2 0 0 2 2 2
4 0 0 1 0 0 1 1 1
9 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2
输出样例1
Scenario #1:
1
Scenario #2:
0
Scenario #3:
1
Scenario #4:
4
Scenario #5:
0
Scenario #6:
48
来源
TUD Programming Contest 2003, Darmstadt, Germany