USACO 2014 - Line of Sight
Xem PDF\(N\) con bò của Farmer John (\(1 \le N \le 50\,000\)) đứng tại các điểm đôi một khác nhau trên đồng cỏ hai chiều của ông. Ở giữa đồng cỏ có một silo ngũ cốc lớn hình tròn. Những con bò ở hai phía đối diện của silo không thể nhìn thấy nhau vì silo chắn tầm nhìn. Hãy xác định số cặp bò có thể nhìn thấy nhau theo một đường ngắm thẳng.
Silo ngũ cốc có tâm tại gốc tọa độ \((0,0)\) và bán kính \(R\). Không có con bò nào nằm trên hoặc bên trong đường tròn tương ứng với silo, và không có hai con bò nào cùng nằm trên một đường thẳng tiếp xúc với silo. Giá trị \(R\) nằm trong khoảng \(1..1\,000\,000\), và mỗi con bò đứng tại một điểm có tọa độ nguyên trong khoảng \(-1\,000\,000..+1\,000\,000\).
Dữ liệu vào
- Dòng 1 chứa hai số nguyên \(N\) và \(R\).
- Các dòng \(2..1+N\): mỗi dòng chứa hai số nguyên mô tả tọa độ \((x,y)\) của một con bò.
Dữ liệu ra
- Dòng 1 chứa số cặp bò có thể nhìn thấy nhau.
Ví dụ
Ví dụ 1
Input
4 5
0 10
0 -10
10 0
-10 0
Output
4
Giải thích
Có 4 con bò tại các vị trí \((0,10)\), \((0,-10)\), \((10,0)\) và \((-10,0)\). Silo có tâm tại \((0,0)\) và bán kính 5.
Trong cả 6 cặp bò, mọi cặp đều có thể nhìn thấy nhau ngoại trừ hai cặp nằm ở hai phía đối diện của silo: hai con bò tại \((-10,0)\) và \((10,0)\) không thể nhìn thấy nhau, và hai con bò tại \((0,-10)\) và \((0,10)\) cũng không thể nhìn thấy nhau.
Nguồn
USACO 2013 November Contest, Gold — Problem 2: Line of Sight
Tác giả đề: Brian Dean và Chad Waters, 2013.
Kỳ thi:
- USACO 2013 - Tháng 11 - Hạng Vàng (1 Tháng 11., 2013)
Bình luận