任务
给定线的表示形式,输出该线通过的象限数。
线的有效表示
您可以将一行表示为
- 三个有符号整数
A
,B
和C
,它们不共享公因数,其中A
和B
都不为零,代表行Ax + By = C
, - 四个符号整数,,,和,表示通过点线和,或
X1
Y1
X2
Y2
(X1, Y1)
(X2, Y2)
- 一种描述行的数据类型(如果您的语言有一种)(它必须支持垂直线)。
您可能无法采用不允许竖线的任何格式的输入(例如,截距形式)。如果你选择采取整数作为输入,你可以假设它们位于包容范围内[-127, 128]
。
技术指标
- 输出将始终为0、2或3(一条线永远不能穿过所有四个象限,也不能只穿过一个象限)。
- 轴上的直线被认为不通过任何象限。穿过原点的线被认为仅穿过2个象限。
- 您不必返回正在通过的象限(尽管为清楚起见,测试用例包括它们)。
- 这是代码高尔夫球,因此最短的有效答案(以字节为单位)获胜。
测试用例
使用它们之前,您必须将它们转换为合适的格式。
1x + 1y = 1 -> 3 (quadrants I, II, and IV)
-2x + 3y = 1 -> 3 (quadrants I, II, and III)
2x + -3y = 0 -> 2 (quadrants III and I)
1x + 1y = 0 -> 2 (quadrants II and IV)
3x + 0y = 6 -> 2 (quadrants I and IV)
-3x + 0y = 5 -> 2 (quadrants II and III)
0x + -8y = 4 -> 2 (quadrants III and IV)
0x + 1y = 0 -> 0 (lies on the x-axis)
1x + 0y = 0 -> 0 (lies on the y-axis)