Hình ảnh này được thực hiện bằng cách chồng 7 hình chữ nhật có màu khác nhau lên nhau:
Các hình chữ nhật màu đen và maroon không bị cản trở , nghĩa là không có hình chữ nhật nào khác ở trên chúng.
Viết chương trình lấy một hình ảnh như thế này và loại bỏ bất kỳ hình chữ nhật không bị cản trở nào, xuất ra hình ảnh kết quả.
Thí dụ
Nếu bạn chạy chương trình của bạn trên hình ảnh ở trên và tiếp tục chạy lại nó ở đầu ra, nó có thể tiến triển như thế này.
Chạy 1 - Đen bị xóa (có thể đã được kết hôn):
Chạy 2 - Maroon bị xóa (chỉ có sự lựa chọn):
Chạy 3 - Xóa màu vàng (chỉ lựa chọn):
Chạy 4 - Màu xanh đã bị xóa (có thể là màu xanh lá cây):
Chạy 5 - Xóa màu xanh lá cây (chỉ có sự lựa chọn):
Chạy 6 - Loại bỏ màu nâu (chỉ có sự lựa chọn):
Chạy 7 - Xóa màu đỏ (chỉ lựa chọn):
Bất kỳ lần chạy bổ sung nào cũng sẽ tạo ra hình ảnh trắng giống nhau.
Hy vọng rằng Stack Exchange đã không nén bất kỳ hình ảnh nào trong số này.
Hình ảnh sẽ luôn có nền trắng và mỗi hình chữ nhật sẽ là một màu RGB duy nhất không phải là màu trắng.
Bạn có thể giả định rằng hình ảnh luôn có thể được hiểu là một tập hợp các hình chữ nhật chồng chéo. Cụ thể, bạn có thể giả sử rằng, đối với một màu cụ thể, pixel có màu đó gần với đỉnh của hình ảnh là một phần của cạnh trên của hình chữ nhật của màu đó. Điều tương tự giữ cho các cạnh dưới, trái và phải.
Vì vậy, ví dụ, trong hình ảnh này, cạnh trên của hình chữ nhật màu đỏ sẽ nằm ngay dưới cạnh dưới của hình chữ nhật màu vàng, vì hình chữ nhật màu cam bao phủ cạnh trên màu đỏ cũ:
Trong hình ảnh này, hình chữ nhật màu đỏ có thể được loại bỏ trước tiên (cùng với màu đen / maroon / cam / xám):
Khi thứ tự của các hình chữ nhật thấp hơn là mơ hồ, bạn có thể cung cấp cho chúng bất kỳ thứ tự nào.
Ví dụ: hình ảnh bên trái ở đây có thể trở thành giữa hoặc bên phải:
Đầu ra không được có sự chồng chéo nghịch lý (do đó, làm cho nó bằng thuật toán của họa sĩ là có thể). Vì vậy, trong hình ảnh này ( cảm ơn người dùng23013 ), nó sẽ phải có màu xanh dưới hình chữ nhật màu cam:
Chi tiết bổ sung
- Hình ảnh và hình chữ nhật có thể có bất kỳ kích thước.
- Các hình chữ nhật có thể chạm vào đường viền hình ảnh.
- Có thể có tới 256 hình chữ nhật 3 - 1.
- Nếu đầu vào là hoàn toàn trắng, đầu ra cũng nên.
- Bạn có thể sử dụng thư viện hình ảnh.
- Đầu vào phải là tên tệp hình ảnh hoặc dữ liệu hình ảnh thô. Nó có thể đến từ stdin hoặc dòng lệnh.
- Đầu ra có thể được ghi vào cùng một hoặc một tệp hình ảnh khác, được phun thô thành thiết bị xuất chuẩn hoặc hiển thị đơn giản.
- Bất kỳ định dạng tệp hình ảnh truecolor lossless phổ biến đều được cho phép.
Việc gửi với ít byte nhất sẽ thắng.