Завдання
Враховуючи подання лінії, виведіть кількість квадрантів , через які проходить ця лінія.
Дійсні зображення лінії
Рядок можна представляти як
- Три підписані цілі числа
A
,B
іC
які не мають загального коефіцієнта, і де,A
іB
не є обома нулямиAx + By = C
, - Чотири цілих числа , , і , представляючи лінію , що проходить через точку і , або
X1
Y1
X2
Y2
(X1, Y1)
(X2, Y2)
- Тип даних, що описує рядок, якщо у вас є мова (вона повинна підтримувати вертикальні лінії).
Ви не можете приймати дані в будь-якому форматі, який не передбачає вертикальної лінії (наприклад, форма перехоплення нахилу). Якщо ви вирішите взяти цілі числа як вхідні дані, ви можете припустити, що вони лежать у межах включення [-127, 128]
.
Технічні умови
- Вихід завжди буде 0, 2 або 3 (рядок ніколи не може пройти через усі чотири квадранти, а також не може пройти лише через один).
- Лінія на осі вважається такою, що не проходить через жодні квадрати. Лінія через початок вважається прохідною лише через два квадранти.
- Вам не потрібно повертати, через які квадрати передаються (хоча тестові приклади включають їх для наочності).
- Це код-гольф , тому найкоротша відповідна відповідь (вимірюється в байтах) виграє.
Випробування
Перед їх використанням вам доведеться перетворити їх у відповідний формат.
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)