Zadanie
Biorąc pod uwagę reprezentację linii, wypisz liczbę kwadrantów , przez które przechodzi ta linia.
Prawidłowe reprezentacje linii
Możesz przedstawić linię jako
- Trzy podpisane liczby całkowite
A
,B
iC
które nie dzielić wspólny czynnik i gdzieA
iB
nie są oba zero, reprezentująca linięAx + By = C
, - Cztery podpisane liczb całkowitych , , , i , reprezentująca linię przechodzącą przez punkty a , lub
X1
Y1
X2
Y2
(X1, Y1)
(X2, Y2)
- Typ danych opisujący linię, jeśli Twój język ją ma (musi obsługiwać linie pionowe).
Być może nie wziąć wkład w dowolnym formacie, który nie pozwala na linii pionowej (np formularza nachylenie osią). Jeśli wybierzesz przyjmowanie liczb całkowitych jako danych wejściowych, możesz założyć, że leżą one w zakresie obejmującym [-127, 128]
.
Dane techniczne
- Wynik zawsze będzie wynosił 0, 2 lub 3 (linia nigdy nie może przejść przez wszystkie cztery ćwiartki, ani nie może przejść tylko przez jedną).
- Uważa się, że linia na osi nie przechodzi przez żadne ćwiartki. Uważa się, że linia przechodząca przez początek przechodzi tylko przez 2 ćwiartki.
- Nie musisz zwracać, które kwadraty są przekazywane (chociaż przypadki testowe zawierają je dla jasności).
- To jest golf golfowy , więc wygrywa najkrótsza ważna odpowiedź (mierzona w bajtach).
Przypadki testowe
Będziesz musiał przekonwertować je na odpowiedni format przed ich użyciem.
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)