Bạn là nông dân và đàn cừu của bạn đã trốn thoát! Ôi không!
Làm tròn những con cừu bằng cách xây dựng hàng rào để chứa chúng. Là một nông dân với ngân sách bạn muốn sử dụng ít hàng rào nhất có thể. May mắn thay cho bạn, mặc dù chúng không phải là con cừu thông minh nhất thế giới và không buồn di chuyển sau khi trốn thoát.
Bài tập
Đưa ra một danh sách các tọa độ, xuất ra số lượng ít nhất các phân đoạn hàng rào cần thiết để chứa cừu.
Quy tắc
- Cừu được chứa nếu chúng không thể đi lang thang (không có lỗ trên hàng rào).
- Bạn không phải chứa tất cả cừu trong một khối hàng rào - có thể có nhiều khu vực có hàng rào độc lập với nhau.
- Các phân đoạn hàng rào được định hướng theo hướng hồng y.
- Mỗi tuple phối hợp đại diện cho một con cừu.
- Đầu vào phải là các cặp số nguyên dương,
x>0&y>0, nhưng có thể được định dạng phù hợp cho ngôn ngữ của bạn.- tức là:
{{1,1},{2,1},{3,7}, .. }hoặc[1,2],[2,1],[3,7], ..
- tức là:
- Khoảng trống trong khu vực có rào chắn là được.
- Bạn không thể giả sử tọa độ là đầu vào theo thứ tự cụ thể.
Ví dụ, một con cừu duy nhất yêu cầu 4các phân đoạn hàng rào phải được chứa đầy đủ.
Các trường hợp thử nghiệm
[1,1]
4
[1,1],[1,2],[2,2]
8
[2,1],[3,1],[2,3],[1,1],[1,3],[3,2],[1,2],[3,3]
12
[1,1],[1,2],[2,2],[3,7],[4,9],[4,10],[4,11],[5,10]
22
[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9]
36
[1,1],[2,2],[3,3],[4,4],[6,6],[7,7],[8,8],[9,9]
32
[2,1],[8,3],[8,4]
10
Ghi chú
- Bạn có thể giả sử tọa độ đầu vào là hợp lệ.
- Về mặt lý thuyết, thuật toán của bạn sẽ hoạt động cho bất kỳ tọa độ nguyên lớn nào hợp lý (tối đa giá trị được hỗ trợ tối đa của ngôn ngữ của bạn).
- Hoặc chương trình đầy đủ hoặc chức năng trả lời là được.
Đây là mã golf , vì vậy câu trả lời ngắn nhất trong byte thắng!
x,yđầu vào phải được cùng nhau. Mặc dù nghĩ tốt, tôi đã không nghĩ về điều đó bản thân mình.
{1,2,3,4},{5,6,7,8} -> {1,5},{2,6},{3,7},{4,8}