trang chủ / đề bài / dhbb14_garden

Vườn cây

Đề bài

Mô tả

Bờm vừa thắng cược Phú Ông và phần thưởng là lấy tất cả các cây gỗ sưa trong vườn của Phú Ông. Thấy Phú Ông thẫn thờ vì mất cây, Bờm liền đưa cho Phú Ông một sợi dây và nói: "Ông hãy chọn một số cây, những cây còn lại tôi sẽ lấy đi, chú ý rằng, sau khi tôi lấy cây đi thì những cây còn lại phải bao được bằng sợi dây này". Phú Ông đồng ý ngay và tìm cách chọn cây sao cho giữ lại được nhiều cây nhất. Giả sử vườn cây của Phú Ông có n cây và coi mỗi cây như một hình tròn trên mặt phẳng, các cây có cùng bán kính r, cây thứ i có tọa độ tâm (xi,yi).

Các cây được giữ lại bao được bằng sợi dây nếu có thể căng sợi dây thành một đường khép kín có độ dài không vượt quá d sao cho mọi hình tròn của các cây đó đều nằm bên trong (hoặc chạm vào) đường khép kín này. Phú Ông có thể không giữ lại cây nào.

Yêu cầu: Cho d là độ dài sợi dây và tọa độ tâm của n cây, các cây có bán kính r. Hãy giúp Phú Ông tìm cách chọn để giữ lại nhiều cây nhất.

Dữ liệu vào

Dòng đầu tiên ghi số nguyên dương K là số lượng bộ dữ liệu. Tiếp đến là K nhóm dòng, mỗi nhóm tương ứng với một bộ dữ liệu có cấu trúc như sau:

  • Dòng thứ nhất ghi ba số nguyên dương d, n và r (d≤109; r≤100);
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên xi,yi (|xi|,|yi|≤1000).

Dữ liệu đảm bảo các hình tròn không giao nhau (hai hình tròn có thể tiếp xúc nhau, tức là khoảng cách giữa hai tâm bất kỳ không nhỏ hơn 2r). Các số trên cùng một dòng được ghi cách nhau ít nhất một dấu cách.

Dữ liệu ra

Gồm K dòng, mỗi dòng ghi một số nguyên là số lượng cây mà Phú Ông có thể giữ lại được tương ứng với bộ dữ liệu.

Ràng buộc

  • 1≤K≤20.
  • 1≤n≤10 trong mỗi bộ dữ liệu.
  • 1≤d≤109; 1≤r≤100.
  • |xi|,|yi|≤1000; khoảng cách giữa hai tâm bất kỳ không nhỏ hơn 2r.

Subtasks

  • Subtask 1 (15 điểm): n≤2.
  • Subtask 2 (15 điểm): n≤3.
  • Subtask 3 (20 điểm): n≤4.
  • Subtask 4 (20 điểm): n≤10.

Ví dụ

Input Output Giải thích
1
20 4 1
1 1
5 1
7 1
20 20
3 Giữ lại ba cây có tâm (1,1), (5,1), (7,1): sợi dây ôm quanh ba cây có độ dài 2·6+2π≈18,28≤20. Hai cây (5,1) và (7,1) tiếp xúc nhau.
3
600 1 100
0 0
700 2 100
0 0
200 0
1100 2 100
-100 0
100 0
0
1
2
Ví dụ bổ sung. Một cây bán kính 100 cần dây dài 200π≈628,32>600 nên bộ thứ nhất không giữ được cây nào. Hai cây tiếp xúc cần dây dài 400+200π≈1028,32: không đủ với d=700, đủ với d=1100.
3
50 5 1
0 0
10 0
10 10
0 10
5 5
46 5 1
0 0
10 0
10 10
0 10
5 5
6 5 1
0 0
10 0
10 10
0 10
5 5
5
4
0
Ví dụ bổ sung. Dây ôm cả năm cây dài 40+2π≈46,28. Với d=46 bỏ cây (0,10), giữ bốn cây còn lại: dây dài 20+102+2π≈40,43. Với d=6<2π không giữ được cây nào.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0