Görev
Bir çizginin temsili verildiğinde , o çizginin geçtiği kadran sayısını çıkarın .
Bir Hattın Geçerli Temsilleri
Bir satırı şu şekilde temsil edebilirsiniz:
- Üç imzalı tamsayı
A
,B
veC
ortak bir faktör paylaşmak ve nerede hangiA
veB
çizgiyi temsil eden her iki sıfır değildirAx + By = C
, - Dört imzalı tamsayı , , , ve , noktalardan geçen çizgi temsil ve ya
X1
Y1
X2
Y2
(X1, Y1)
(X2, Y2)
- Dilinizde varsa bir satırı tanımlayan bir veri türü (dikey satırları desteklemesi gerekir).
Sen olabilir değil dikey bir çizgi (örneğin eğim-kesişim formu) için izin vermiyor herhangi bir biçimde girdi alır. Tam sayıları girdi olarak almayı seçerseniz, bunların kapsayıcı aralıkta olduğunu varsayabilirsiniz [-127, 128]
.
Özellikler
- Çıktı her zaman 0, 2 veya 3 olacaktır (bir satır hiçbir zaman dört çeyreğin tamamından geçemez veya sadece tek bir satırdan geçemez).
- Eksendeki bir çizginin herhangi bir çeyrek daire içinden geçmediği kabul edilir. Kökeni geçen bir çizginin sadece 2 kadrandan geçtiği kabul edilir.
- Hangi kadranlardan geçildiğini iade etmek zorunda değilsiniz (test vakaları netlik için bunları içeriyor olsa da).
- Bu kod golf , bu nedenle (bayt cinsinden ölçülen) en kısa geçerli cevap kazanır.
Test Durumları
Bunları kullanmadan önce uygun bir biçime dönüştürmeniz gerekir.
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)