Parallelogram Counting (平行四边形计数)

这一题的意思是有n个点,求这些点能组成的平行四边形的个数;

这些点任意三点不在同一条直线上;

首先给出t组案例;

每组n个点;

求这n个点能组成的平行四边形的个数;

Sample Input

2

6

0 0

2 0

4 0

1 1

3 1

5 1

7

-2 -1

8 9

5 7

1 1

4 8

2 0

9 8

Sample Output

Case 1: 5

Case 2: 6

这个时候可以想想平行四边形的性质;

对角线互相平分;即对角线的中点相等即可构成平行四边形;

计数;有n个相等的对角线从中任意选两个就可构成平行四边形;

\tiny {C_n^2}


代码如下:(要记得数组的范围

#include
#include
#include
using namespace std;
struct w
{
	int a,b;
}s[1010000];
bool cmp(w x,w y)
{
	if(x.a!=y.a)
	return x.a

 

你可能感兴趣的:(数论基础)