bzoj#P1100. [POI2007]对称轴osi

[POI2007]对称轴osi

题目描述

FGD 小朋友是一个闻名遐迩的年轻数学家,他有一个小 MM,yours。FGD 小朋友非常喜欢他的 MM,所以他很乐意帮助他的 MM 做数学作业。但是,就像所有科学的容器一样,FGD 的大脑拒绝不停地重复思考同样的问题。不幸的是,yours 是一个十分用功的学生,所以她不停地让 FGD 帮助她检查她的作业。

一个阳光明媚的周末,yours 的数学老师布置了非常多的寻找多边形的对称轴的题,足够她做相当长的一段时间了。在此之前 FGD 已经决定去海边度过这个难得的假期,不过他还是觉得应该帮助他的 MM 对付可爱的数学作业。

很快地,他找到了解决方案,最好写一个程序来帮助 yours 检查她的数学作业。因为 FGD 并非一个计算机科学家,所以他找到了他的好朋友你,请你帮助他完成这个任务。

请写一个程序:读入多边形的描述计算出每个多边形的对称轴数并将计算的结果输出。

输入格式

本题有多组数据

输入的第一行包含一个正整数 TT (1T10)(1\leq T\leq 10),为多边形的个数(数据组数)。接下来,为 TT 个多边形的描述。

每个描述的第一行为一个正整数 nn (3n105)(3\leq n\leq10^5),表示了多边形的点数。

后面 nn 行每行两个整数 xxyy (108x,y108)(-10^8\leq x,y\leq 1 0^8),依次表示多边形的顶点坐标。多边形不一定是凸的,但是不自交,任何两条边都只有最多一个公共点—他们的公共端点。此外,没有两条连续的边平行

输出格式

你的程序应该输出正好 TT 行,第 kk 行包含了一个整数 nkn_k:表示第 kk 个多边形有多少个对称轴。

2
12
1 -1
2 -1
2 1
1 1
1 2
-1 2
-1 1
-2 1
-2 -1
-1 -1
-1 -2
1 -2
6
-1 1
-2 0
-1 -1
1 -1
2 0
1 1
4
2

数据规模与约定

$1\leq T\leq 10,3\leq n\leq10^5,-10^8\leq x,y\leq 1 0^8$

题目来源

[POI2007] Axes of Symmetry-osi