RADAR

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1300 (p) Thời gian: 2.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Giả sử bờ biển là một đường thẳng vô hạn, đất liền ở một bên và ở bên kia là biển. Xét trên hệ tọa độ Descartes, bờ biển là trục \(Ox\) và mặt đất ở phía dưới (vùng có tung độ âm). Mỗi hòn đảo là một điểm nằm trên biển (vùng có tung độ dương). Một radar đặt trên bờ biển có thể bao phủ khoảng cách \(d\), vì vậy một hòn đảo trên biển có thể được bao phủ bởi một radar nếu khoảng cách giữa chúng không vượt quá \(d\).

Yêu cầu

Tìm ra số lượng radar ít nhất để bao phủ tất cả các hòn đảo.

Input

  • Dòng đầu chứa hai số nguyên dương \(n, d\) (\(n \le 1000, d \le 10^6\)).
  • Tiếp theo là \(n\) dòng, mỗi dòng chứa hai số nguyên là tọa độ \((x, y)\) của một hòn đảo. Các tọa độ có giá trị tuyệt đối không vượt quá \(10^6\).

Output

  • Gồm một dòng duy nhất chứa một số nguyên là số radar ít nhất tìm được. Ghi \(-1\) nếu không có phương án nào bao phủ được tất cả các hòn đảo.

Example

Test 1

Input
3 2
1 2
-3 1
2 1
Output
2

Scoring

  • \(100\%\) số điểm tương ứng với \(n \le 1000\) và các tọa độ, bán kính \(d\) có giá trị tuyệt đối không vượt quá \(10^6\).

Nguồn: 3D'21

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.