Bài tập
Cho một đại diện của một dòng, xuất ra số góc phần tư mà dòng đó đi qua.
Đại diện hợp lệ của một dòng
Bạn có thể biểu diễn một dòng như
- Ba số nguyên ký
A
,B
vàC
đó chia sẻ không có yếu tố chung và ở đâuA
vàB
không phải là cả hai không, đại diện cho các dòngAx + By = C
, - Bốn nguyên ký , , , và , đại diện cho dòng đi qua các điểm và , hoặc
X1
Y1
X2
Y2
(X1, Y1)
(X2, Y2)
- Một kiểu dữ liệu mô tả một dòng, nếu ngôn ngữ của bạn có một dòng (nó phải hỗ trợ các dòng dọc).
Bạn không được nhận đầu vào ở bất kỳ định dạng nào không cho phép một đường thẳng đứng (ví dụ: hình thức chặn dốc). Nếu bạn chọn lấy số nguyên làm đầu vào, bạn có thể giả sử rằng chúng nằm trong phạm vi bao gồm [-127, 128]
.
Thông số kỹ thuật
- Đầu ra sẽ luôn là 0, 2 hoặc 3 (một dòng không bao giờ có thể đi qua cả bốn góc phần tư, và cũng không thể đi qua chỉ một cái duy nhất).
- Một đường trên một trục được coi là không đi qua bất kỳ góc phần tư nào. Một dòng qua gốc được coi là chỉ đi qua 2 góc phần tư.
- Bạn không phải trả lại các góc phần tư nào đang được chuyển qua (mặc dù các trường hợp kiểm tra bao gồm chúng cho rõ ràng).
- Đây là môn đánh gôn , vì vậy câu trả lời hợp lệ ngắn nhất (tính bằng byte) sẽ thắng.
Các trường hợp thử nghiệm
Bạn sẽ phải chuyển đổi chúng sang một định dạng phù hợp trước khi sử dụng chúng.
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)