#P3130. How I Mathematician Wonder What You Are!

How I Mathematician Wonder What You Are!

本题没有可用的提交语言。

艾萨克在童年时曾数过天空中许多星星,如今他成为了一名天文学家和数学家。他使用一台大型天文望远镜,并让自己编写的图像处理程序来计数星星。该程序最困难的部分是判断天空中发光的物体是否真的是星星。作为一名数学家,他所知道的唯一方法是应用星星的数学定义。

星形的数学定义如下:一个平面图形F是星形的,当且仅当存在一个点C∈F,使得对于F中的任意一点P,线段CP都包含在F中。这样的点C被称为F的中心。为了熟悉这个定义,我们来看下面的一些例子。

前两个是你通常所说的星星。然而,根据上述定义,第一行的所有图形都是星形的。第二行的两个图形则不是。对于每个星形图形,都用一个点标出了它的一个中心。请注意,一般来说,星形图形有无限多个中心。例如,对于第三个四边形图形,它内部的所有点都是中心。

你的任务是编写一个程序,判断给定的多边形图形是否为星形。

输入

输入是一系列数据集,后跟一行包含单个0的行。每个数据集指定一个多边形,格式如下:

n x1 y1 x2 y2 … xn yn

第一行是顶点数量n,满足4≤n≤50。接下来的n行每行包含x、y坐标,代表一个顶点的坐标。线段(xi, yi)–(xi+1, yi+1)(i=1,…,n-1)和线段(xn, yn)–(x1, y1)构成了多边形的边界,这些线段按逆时针顺序排列。也就是说,这些线段的左侧是多边形的内部。

你可以假设该多边形是简单多边形,即其边界从不交叉或自触。你也可以假设,即使无限延伸,多边形的三条边也不会交于同一点。

输出

对于每个数据集,如果多边形是星形的,输出“1”,否则输出“0”。每个数字必须单独占一行,且行中不应包含任何其他字符。

输入数据示例

6 
66 13 
96 61 
76 98 
13 94 
4 0 
45 68 
8 
27 21 
55 14 
93 12 
56 95 
15 48 
38 46 
51 65 
64 31 
0

输出数据示例

1
0