#P1269. Intersecting Lines
Intersecting Lines
描述
我们都知道,在平面上,一对不同的点可以确定一条直线,并且平面上的两条直线会以以下三种方式之一相交:
- 不相交,因为它们是平行的;
- 相交于一条直线,因为它们相互重合(也就是说,它们是同一条直线);
- 相交于一个点。
在这个问题中,你需要运用你的代数知识来创建一个程序,该程序能够确定两条直线是如何相交的,以及相交的位置。
你的程序需要反复读取用于定义平面 上两条直线的四个点,并确定这些直线是如何相交的以及相交的位置。在这个问题中所用到的所有数字都是合理的,大致范围在 -1000 到 1000 之间。
输入
第一行包含一个整数 ,, 描述了所表示的直线对的数量。
接下来的 行中,每行都将包含八个整数。这些整数按照 的顺序表示平面上四个点的坐标。
因此,这些输入行中的每一行都表示平面上的两条直线:一条是经过点 和点 的直线,另一条是经过点 和点 的直线。点 总是与点 不同。同样地,点 和点 也总是不同的。
输出
输出应该有 行。
第一行输出应该是:INTERSECTING LINES OUTPUT
。
然后,对于由输入行所表示的每一对平面直线,都有一行输出,用于描述这些直线的相交情况:none
(不相交)、line
(重合) 或 point
(相交于一点)。
如果相交于一点,那么你的程序应该输出该点的 和 坐标,精确到小数点后两位。
最后一行输出应该是:END OF OUTPUT
。
输入数据 1
5
0 0 4 4 0 4 4 0
5 0 7 6 1 0 2 3
5 0 7 6 3 -6 4 -3
2 0 2 27 1 5 18 5
0 3 4 0 1 2 2 5
输出数据 1
INTERSECTING LINES OUTPUT
POINT 2.00 2.00
NONE
LINE
POINT 2.00 5.00
POINT 1.07 2.20
END OF OUTPUT
来源
1996 年大西洋中部地区