#9022. 「L2-054」三点共线 普及/提高−

时间限制:1000 ms 内存限制:256 MiB 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Wind_Rises

题目描述

给定平面上 个点的坐标 ( ,)(i=1,⋯,n),其中 坐标只能是 0、1 或 2,是否存在三个不同的点位于一条非水平的直线上?

本题就请你找出所有共线的解。

输入格式

输入首先在第一行给出正整数 ),为所有点的个数。

随后 行,每行给出一个点的坐标:第一个数为 轴坐标,第二个数为 轴坐标。其中, 坐标是绝对值不超过 的整数, 坐标在 { 0,

1,2 } 这三个数字中取值。同行数字间以空格分隔。

输出格式

如果无解,则在一行中输出

如果有解,每一行输出共线的三个点坐标。每个点的坐标格式为 [x, y],点之间用 1 个空格分隔,按照 y = 0、1、2 的顺序输出。

如果有多解,首先按照 y = 1 的 x 坐标升序输出;还有相同则按照 y = 0 的 x 坐标升序输出。

注意不能输出重复的解(即不能有两行输出是一样的内容)。题目保证任何一组测试的输出均不超过 组不同的解。

样例

样例输入 1

复制17
90 0
60 2
1 1
0 0
50 0
-30 2
79 2
50 0
-20 1
75 1
-10 1
-20 1
1 1
100 2
22 0
-10 0
-1 2

样例输出 1

复制[-10, 0] [-20, 1] [-30, 2]
[50, 0] [75, 1] [100, 2]
[90, 0] [75, 1] [60, 2]

样例输入 2

复制20
-1 2
1 1
-13 0
63 1
-29 1
17 2
-1 2
0 0
-22 0
53 2
1 1
97 1
-10 0
0 0
1 0
-11 1
-37 2
26 1
-18 2
69 0

样例输出 2