#P16873. [Ural1478]Spy Satellites

[Ural1478]Spy Satellites

题目描述

平面上有 nn 个点,表示若干颗间谍卫星。

定义两点 (x1,y1)(x_1,y_1)(x2,y2)(x_2,y_2) 之间的距离为它们欧氏距离的平方:

d((x1,y1),(x2,y2))=(x1x2)2+(y1y2)2.d((x_1,y_1),(x_2,y_2))=(x_1-x_2)^2+(y_1-y_2)^2.

现在希望把所有点划分成若干个非空组。

一个分组是合法的,当且仅当对于每一个组,都满足:

该组内部任意两点之间的距离,都严格小于该组中任意一点与组外任意一点之间的距离。

换句话说,对于每个组 GG,若 GG 不是全部点,则必须有:

$$\max_{u,v\in G} d(u,v) < \min_{u\in G,\;w\notin G} d(u,w).$$

你的任务是判断:把全部 nn 个点恰好划分为 1,2,,n1,2,\ldots,n 个合法组,分别是否可能。

输入格式

输入包含多组数据。

每组数据第一行一个整数 nn

n=0n=0,表示输入结束。

接下来 nn 行,每行两个整数:

x y

表示一个点的坐标。

题目保证:

n3250000000.n^3\le250000000.

输出格式

对于每组数据,输出一个长度为 nn01 字符串。

字符串的第 kk 个字符表示是否能够把所有点恰好划分为 kk 个合法组:

  • 1:可以;
  • 0:不可以。

各组数据的答案各占一行。

输入数据1

4
-1 -1
1 1
1 -1
-1 1

4
1 0
2 4
1 1
0 1

0

输出数据1

1001
1101