Sử dụng Algodoo và Paint Tôi đã tạo ra sáu hình ảnh đơn sắc 300 × 300 này với bốn hình dạng thuận tiện:
Lớp hình ảnh này có các thuộc tính sau:
- Chúng luôn có kích thước 300 × 300 pixel, đơn sắc (chỉ đen và trắng) và có chính xác bốn vùng trắng tương ứng với hình vuông, hình tròn, hình tam giác và bánh răng.
- Các hình dạng không bao giờ trùng nhau hoặc chạm vào nhau, cũng không chạm vào đường viền hình ảnh hoặc đi ra khỏi giới hạn.
- Các hình dạng luôn có cùng kích thước, nhưng chúng có thể được xoay và định vị theo bất kỳ cách nào.
(Các hình dạng cũng có diện tích bằng nhau, mặc dù khi raster như thế này, số pixel của chúng không có khả năng tương đương chính xác.)
Thử thách
Viết chương trình hoặc chức năng ngắn nhất có thể có trong tên tệp của hình ảnh đó và biến tất cả các pixel trắng ...
- màu đỏ
(255, 0, 0)
nếu chúng ở trong hình vuông. - màu xanh
(0, 0, 255)
nếu chúng ở trong vòng tròn. - màu xanh lá cây
(0, 255, 0)
nếu chúng nằm trong tam giác. - màu vàng
(255, 255, 0)
nếu chúng ở trong bánh răng.
ví dụ
Chi tiết
Chương trình của bạn nên hoạt động hiệu quả cho tất cả các hình ảnh đầu vào có thể. (Chỉ có hình ảnh đơn sắc 300 × 300 hợp lệ sẽ được nhập vào.) Sáu hình ảnh tôi đã cung cấp chỉ là ví dụ, bạn không thể mã hóa đầu ra của chúng vào chương trình của mình.
Bạn không được sử dụng các thư viện hoặc chức năng thị giác máy tính, tích hợp hoặc bên ngoài. Vấn đề là làm điều này bằng cách sử dụng các hoạt động cấp pixel của riêng bạn. Bạn có thể sử dụng các thư viện hình ảnh đơn giản cho phép bạn mở và sửa đổi hình ảnh (ví dụ PIL cho Python).
Bạn có thể sử dụng bất kỳ định dạng tệp hình ảnh lossless phổ biến nào cho đầu vào và đầu ra miễn là bạn tuân theo bảng màu.
Bạn có thể lấy tên tệp hình ảnh làm đối số chức năng, từ stdin hoặc từ dòng lệnh. Hình ảnh đầu ra có thể được lưu vào một tệp mới, cùng một tệp hoặc được hiển thị đơn giản.
Chấm điểm
Việc gửi với ít byte nhất sẽ thắng. Tôi có thể kiểm tra bài nộp với hình ảnh bổ sung để xác định tính hợp lệ của chúng.