Trẻ em rất giỏi trong việc phân loại đồ vật và đếm chúng. Máy tính dường như có nhiều rắc rối hơn. Đây là một phiên bản đơn giản hóa của vấn đề này. Bạn có thể viết một chương trình nhỏ có thể phân loại và đếm các đối tượng trong một hình ảnh không?
Vấn đề: Cho một hình ảnh chứa một hoặc nhiều hình tròn và hình chữ nhật, trả về 2 số nguyên với số lượng hình tròn và số hình chữ nhật.
Quy tắc
- Hình ảnh đầu vào sẽ là các hình màu đen trên nền trắng ở bất kỳ định dạng bitmap nào bạn chọn.
- Chiều rộng và chiều cao hình ảnh sẽ nằm trong khoảng từ 100 đến 1000 pixel.
- Số liệu sẽ được chứa đầy đủ trong hình ảnh.
- Hình sẽ có chiều rộng dòng 1 pixel.
- Hình ảnh sẽ không sử dụng khử răng cưa. Chúng sẽ chỉ có màu đen trên nền trắng.
- Các hình có thể chạm, giao nhau hoặc ở trong một hình khác.
- Các số liệu giao nhau sẽ có tối đa 4 pixel phổ biến.
- Các vòng kết nối sẽ có đường kính từ 20 pixel trở lên.
- Các cạnh hình chữ nhật sẽ dài từ 10 pixel trở lên.
- Bạn không được sử dụng bất kỳ thư viện hoặc thư viện tích hợp nào nhận ra hình dạng hoặc bất kỳ chức năng nào khác khiến cho thách thức này trở nên tầm thường.
- Trả lại hoặc in 2 số nguyên với số lượng hình tròn và hình chữ nhật.
ví dụ 1
Trả lời: 3 4
Ví dụ 2:
Trả lời: 4 13
Đây là một thử thách golf mã, vì vậy chương trình hoặc chức năng ngắn nhất trong mỗi ngôn ngữ sẽ giành chiến thắng.