Tugas
Diberikan representasi garis, menampilkan jumlah kuadran yang dilewati garis itu.
Representasi Garis yang Valid
Anda dapat mewakili garis sebagai
- Tiga bilangan bulat ditandatangani
A,BdanCyang berbagi tidak ada faktor umum dan di manaAdanBtidak keduanya nol, mewakili garisAx + By = C, - Empat bilangan bulat ditandatangani , , , dan , yang mewakili garis yang melewati titik-titik dan , atau
X1Y1X2Y2(X1, Y1)(X2, Y2) - Tipe data yang menggambarkan garis, jika bahasa Anda memiliki satu (itu harus mendukung garis vertikal).
Anda tidak boleh mengambil input dalam format apa pun yang tidak memungkinkan untuk garis vertikal (mis. Formulir penyadapan miring). Jika Anda memilih untuk mengambil bilangan bulat sebagai input, Anda dapat mengasumsikan bahwa mereka berada dalam kisaran inklusif [-127, 128].
Spesifikasi
- Output akan selalu 0, 2, atau 3 (garis tidak pernah bisa melewati keempat kuadran, juga tidak bisa melewati hanya satu kuadran).
- Garis pada sumbu dianggap tidak melewati kuadran mana pun. Garis melalui titik asal dianggap hanya melewati 2 kuadran.
- Anda tidak harus mengembalikan kuadran mana yang sedang dilewati (meskipun kasus uji menyertakannya untuk kejelasan).
- Ini adalah kode-golf , sehingga jawaban terpendek yang valid (diukur dalam byte) menang.
Uji Kasus
Anda harus mengonversi ini ke format yang sesuai sebelum menggunakannya.
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)