#P128. [Sleeping Cup #5] 遗失的平面

[Sleeping Cup #5] 遗失的平面

负责人

注意

本题需要使用文件读写(surface.in / surface.out)。

本题的标准程序没有用到随机数生成器。

题目背景

假期的最后一天,2lf 走进游戏厅,玩起了 VR 游戏。

题目描述

在三维空间中,有一对平行但不重合的平面,每个平面上恰好有 nn 个点。

然而,宇宙射线清除了关于这对平面的记录,只留下了 2n2n 个点的坐标。

你能复原一对平行但不重合的平面,使得每个平面上恰好有 nn 个点吗?

输入格式

本题有多组数据。

第一行一个正整数 TT,表示数据组数。

对于每组数据:

第一行一个正整数 nn

接下来 2n2n 行,每行 33 个整数 xi,yi,zix_i,y_i,z_i,表示一个点的三维坐标 Di(xi,yi,zi)D_i(x_i,y_i,z_i)

保证 2n2n 个点的坐标各不相同。

输出格式

对于每组数据,输出一行一个长度为 2n2n 的 01 串,表示输入中每个点所在的平面:

  • 0 表示它在你所复原出的第一个平面上。
  • 1 表示它在你所复原出的第二个平面上。
  • 你可以任意指定两个平面的编号(第一个或第二个)。
  • 数据保证有解,但答案可能有多个,输出一个即可。

举个例子:在你复原的一对平面中,如果第一个平面上有 D1,D3,D4D_1,D_3,D_4 三个点,第二个平面上有 D2,D5,D6D_2,D_5,D_6 三个点,那么你需要输出 010011。当然了,如果 010011 是正确答案之一,那么 101100 也一定是正确答案之一,因为你可以任意指定两个平面的编号。

样例

请在「下发文件」处获取样例。

样例解释

样例中 T=10T=10n=10n=10,且保证所有点(以某种方式)在事先确定的一对平面上均匀随机选取。

请注意,你的程序不必得到和样例输出完全一致的运行结果,因为答案不是唯一的。

下发文件

请在这里下载下发文件。

数据范围

1T101 \le T \le 101n1041 \le n \le 10^4109xi,yi,zi109-10^9 \le x_i,y_i,z_i \le 10^9

官方题解

link