Hãy tưởng tượng một lưới hình vuông W bằng H bao bọc hình xuyến. Các mục được đặt trên lưới như sau.
Mục đầu tiên có thể được đặt trên bất kỳ vuông, nhưng mục tiếp theo không phải nằm trong một khoảng cách Manhattan R của bất kỳ mục trước (còn được gọi là một khu phố Von Neumann phạm vi R ). Lựa chọn cẩn thận các vị trí cho phép lắp một số lượng lớn các mục vào lưới trước khi không có vị trí hợp lệ hơn. Tuy nhiên, thay vào đó hãy xem xét mục đích ngược lại: số lượng vật phẩm thấp nhất có thể được đặt và không để lại vị trí hợp lệ nào nữa?
Đây là vùng loại trừ bán kính 5:
Đây là một khu vực loại trừ bán kính 5 khác, lần này là gần các cạnh nên hành vi bao bọc là rõ ràng:
Đầu vào
Ba số nguyên:
- W : chiều rộng của lưới (số nguyên dương)
- H : chiều cao của lưới (số nguyên dương)
- R : bán kính của vùng loại trừ (số nguyên không âm)
Đầu ra
Một số nguyên N , là số lượng nhỏ nhất của các mục có thể được đặt ngăn chặn mọi vị trí hợp lệ hơn nữa.
Chi tiết
- Bán kính bằng 0 cho vùng loại trừ 1 ô vuông (một ô được đặt trên đó).
- Bán kính N không bao gồm vùng có thể đạt được trong N bước trực giao (nhớ các cạnh được bao bọc theo hình xuyến).
Mã của bạn phải hoạt động trong trường hợp tầm thường R = 0, nhưng không cần làm việc cho W = 0 hoặc H = 0.
Mã của bạn cũng phải xử lý trong trường hợp R > W hoặc R > H .
Giới hạn thời gian và trường hợp kiểm tra
Mã của bạn phải có khả năng xử lý tất cả các trường hợp thử nghiệm và mỗi trường hợp thử nghiệm phải hoàn thành trong vòng 5 phút. Điều này sẽ dễ dàng (ví dụ giải pháp JavaScript mất vài giây cho mỗi trường hợp thử nghiệm). Giới hạn thời gian chủ yếu là để loại trừ phương pháp vũ phu cực đoan. Cách tiếp cận ví dụ vẫn còn khá mạnh mẽ.
Nếu mã của bạn hoàn thành trong vòng 5 phút trên một máy nhưng không phải trên máy khác sẽ đủ gần.
Các trường hợp thử nghiệm ở dạng đầu vào: đầu ra nhưW H R : N
5 4 4 : 1
5 4 3 : 2
5 4 2 : 2
5 4 1 : 5
7 5 5 : 1
7 5 4 : 2
7 5 3 : 2
7 5 2 : 4
8 8 8 : 1
8 8 7 : 2
8 8 6 : 2
8 8 5 : 2
8 8 4 : 2
8 8 3 : 4
7 6 4 : 2
7 6 2 : 4
11 7 4 : 3
11 9 4 : 4
13 13 6 : 3
11 11 5 : 3
15 14 7 : 2
16 16 8 : 2
Đoạn trích để giúp hình dung và chơi xung quanh với các ý tưởng
Giải pháp ví dụ
Chỉ là một ví dụ cho đầu ra nhỏ (kết quả từ bán kính không nhỏ hơn nhiều so với chiều rộng và chiều cao). Có thể xử lý bất kỳ trường hợp thử nghiệm nào nhưng sẽ hết thời gian và bỏ cuộc cho hầu hết các trường hợp lớn hơn.