Câu chuyện người lính

Xem dạng PDF

Gửi bài giải


Điểm: 0,44 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Tôi vẫn nhớ chiến trường Điện Biên năm đó rất ác liệt, rất nhiều người lính đã ngã xuống. Tại vùng căn cứ này, địch cho xây dựng lô cốt, hàng rào dây thép gai rất nhiều, vòng trong nối vòng ngoài, tạo thành nhiều vòng bảo vệ...

Đó là dòng hồi tưởng của một người lính già đã từng tham gia chiến dịch Tây Bắc lịch sử. Lần theo những trang sử được ghi chép lại, người ta biết rằng tướng Đờ Cát lúc đầu chưa chọn vị trí để đặt sở chỉ huy mà tìm cách thiết lập các vòng bảo vệ bằng dây thép gai nối các cứ điểm lại với nhau, sau đó sẽ chọn đặt sở chỉ huy tại vị trí an toàn nhất là ở vị trí mà có nhiều vòng bảo vệ bao quanh nhất. Mỗi một vòng bảo vệ là một đa giác không tự cắt tạo thành bằng cách nối một số cứ điểm lại với nhau bằng dây thép gai, một cứ điểm thuộc về không quá một vòng bảo vệ, các vòng bảo vệ phải được thiết lập sao cho giữa hai vòng bảo vệ bất kỳ ~X~ và ~Y~ thì phần diện tích chung của ~X~ và ~Y~ bằng ~\min(~ diện tích ~X,~ diện tích ~Y)~ hoặc bằng 0. Trên mặt phẳng toạ độ, các cứ điểm được coi như các điểm có toạ độ nguyên. Bạn hãy xác định xem, sở chỉ huy của tướng Đờ Cát sẽ được bảo vệ tối đa bởi mấy vòng bảo vệ.

Input

Dòng 1: số nguyên ~N~ là số cứ điểm. (~1 \leq N \leq 4000~).

~N~ dòng tiếp theo, dòng thứ ~i~ gồm 2 số nguyên ~x_i, y_i~ tương ứng là toạ độ của cứ điểm ~i~. Các toạ độ đều là số nguyên dương nhỏ hơn hoặc bằng 10000.

Output

Gồm một dòng duy nhất ghi ra số lượng vòng bảo vệ tối đa mà sở chỉ huy của tướng Đờ Cát có thể được bao bọc.

Sample Input

4
100 100
200 100
100 200
300 300

Sample Output

1

Note

Download một số test tại đây.


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -12
    Xcode  đã bình luận lúc 31, Tháng 7, 2023, 9:33

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.