#agc051e. [agc051_e]Middle Point
[agc051_e]Middle Point
问题陈述
最初,在平面上绘制了 个点 。Snuke 可以执行以下操作任意次数:
- 选择已经绘制的两个点,并绘制这两个点的中间点(如果中间点还没有被绘制)。中间点的坐标不一定是整数。
在完成操作后,他的得分是具有整数坐标的绘制点的数量(包括初始点)。计算他能够获得的最大分数。
约束条件
- 不存在三个点共线。
- 输入中的所有值都是整数。
输入
输入按照以下格式从标准输入给出:
输出
输出答案。
示例输入 1
4
0 0
0 2
2 0
2 2
示例输出 1
9
一种实现最大分数的可能方法如下:
- 最初绘制了四个点 。
- 绘制 : 和 的中间点。
- 绘制 : 和 的中间点。
- 绘制 : 和 的中间点。
- 绘制 : 和 的中间点。
- 绘制 : 和 的中间点。
- 绘制 : 和 的中间点。
- 现在我们有了 个点:$(0, 0), (0, 0.5), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)$。其中有 个点的坐标是整数,因此得分为 。
示例输入 2
4
0 0
0 3
3 0
3 3
示例输出 2
4
我们可以证明,除了初始点之外,他无法绘制任何具有整数坐标的点。