SP3415 SAMER08K - Shrinking Polygons
题目描述
一个多边形被称为内接于圆的多边形,当且仅当它的所有顶点都在同一个圆上。在本题中,给你一个内接于圆的多边形,你需要找出移除最少数量顶点,将其变为正多边形的方法。正多边形是指所有内角相等且所有边长相等的多边形。
当你从多边形中移除一个顶点 $v$ 后,该顶点以及连接到其相邻顶点 $w_1$ 和 $w_2$ 的边都会被删除,并在 $w_1$ 和 $w_2$ 之间创建一条新的边。图 (a) 显示了一个有十个顶点的内接多边形,而图 (b) 展示了从 (a) 中移除五个顶点后形成的五边形(正多边形)。
在这道题中,我们约定任何多边形必须至少有三条边。
输入格式
输入由多个测试用例组成。每个测试用例的第一行包含一个整数 $N$,表示内接多边形的顶点数($3 \le N \le 10^4$)。接下来一行包含 $N$ 个用空格隔开的整数 $X_i$($1 \le X_i \le 10^4$,$i = 1, 2, \ldots, N-1$)。每个 $X_i$ 代表顺时针方向上,由顶点 $i$ 和顶点 $(i+1) \mod N$ 定义的弧长。请注意,弧是圆周的一个部分,不能和直线段(弦)混淆。
输入以一行只有一个零作为结束标志。
输出格式
对于每个测试用例,输出一行,表示为了形成正多边形需要移除的最少顶点数。如果无法构成正多边形,则输出-1。
**本翻译由 AI 自动生成**