Một câu đố nổi tiếng liên quan đến việc đếm có bao nhiêu hình vuông có thể được thực hiện bằng cách sử dụng các điểm trên lưới 3x3:
. . .
. . .
. . .
Câu trả lời là 6 - bốn hình vuông nhỏ, một hình vuông lớn và một hình vuông được hình thành từ các chốt trên cùng, bên trái, dưới cùng và bên phải, với các cạnh dọc theo các đường chéo của hình vuông.
Nhiệm vụ của bạn là xây dựng một chương trình đếm tổng số ô vuông có thể được hình thành từ một tập hợp các điểm.
Chương trình của bạn sẽ nhận đầu vào ở một trong hai định dạng (bạn chọn):
Một
MbởiNlưới bao gồm.hoặc..đại diện cho một điểm trên lưới mà hình vuông có thể là một góc và tất cả các không gian trên lưới chính xác cách nhau một đơn vị theo chiều ngang hoặc chiều dọc.Một danh sách các cặp tọa độ biểu thị các điểm mà hình vuông có thể nằm trên.
và trả về số lượng hình vuông riêng biệt có thể được hình thành bằng cách sử dụng các điểm được cung cấp. Chương trình của bạn phải trả về một giải pháp chính xác cho mọi đầu vào có thể.
Ví dụ: lấy đầu vào ở trên nhưng thiếu hình vuông trung tâm:
...
. .
...
Chỉ có hai hình vuông có thể có ở đây (cái lớn và cái chéo), vì vậy chương trình sẽ trở lại 2.
Mã ngắn nhất để làm điều này trong bất kỳ ngôn ngữ nào sẽ thắng.