Dưới đây là năm hình ảnh của quả lê và máng thép :
Đây chỉ là hình thu nhỏ, nhấp vào chúng cho kích thước đầy đủ!
(Tôi đã làm những thứ này với Algodoo .)
Lớp hình ảnh này luôn có các thuộc tính sau:
- Chúng luôn có kích thước 400 × 400 pixel với nền trắng. (Nó có thể không chính xác màu trắng vì hình ảnh SE bị nén một cách mất mát.)
- Chúng có 1 đến 4 quả lê giống hệt nhau, mỗi quả lê được xoay và định vị theo (gần như) bất kỳ cách nào.
- Họ có một máng thép thẳng đứng chạm đến đáy của hình ảnh.
- Khác với phần dưới của máng, máng và các ô giới hạn ( ví dụ hộp giới hạn ) không bao giờ chạm hoặc đi ra khỏi giới hạn hình ảnh.
- Các hộp giới hạn của quả lê không bao giờ chồng lên nhau cũng không chồng lên nhau.
- Quả lê có thể bị phần dốc của đường trượt, như trong B , C , và D . (Vì vậy, hộp giới hạn của máng có thể chồng lên hộp giới hạn của quả lê.)
- Máng trượt có thể có bất kỳ vị trí ngang và dọc miễn là có đủ chỗ cho tất cả các hộp giới hạn của quả lê để tự do nằm trên nó (không có trường hợp "vừa khít" nào được kiểm tra) và có thể nhìn thấy một phần của phần cột.
Thử thách
Viết một chương trình lấy một hình ảnh như vậy và xuất ra một hình ảnh 400 × 400 khác với máng ở cùng một vị trí, nhưng với các quả lê được đặt lại vị trí sao cho tất cả chúng nằm trên máng (để chúng có thể rơi vào đó và được ép và không có gì).
Các yêu cầu cho hình ảnh đầu ra là:
- Tất cả các quả lê trong hình ảnh đầu vào phải được định vị lại sao cho chúng nằm phía trên máng, giữa cạnh trái và phải của kênh. (Trên một cạnh là không ổn.)
- Mỗi quả lê phải duy trì góc quay của nó. (Vì vậy, bạn nên cắt và dán những quả lê, không vẽ lại chúng.)
- Các quả lê không được chồng lên nhau hoặc chạm vào nhau hoặc máng. (Các hộp giới hạn lê có thể chồng lên nhau.)
- Các quả lê không được chạm hoặc đi ra khỏi giới hạn hình ảnh.
Dưới đây là ví dụ về đầu ra hợp lệ cho năm hình ảnh mẫu:
Đây chỉ là hình thu nhỏ, nhấp vào chúng cho kích thước đầy đủ!
Lưu ý rằng hình ảnh đầu vào cho E đã là đầu ra hợp lệ, nhưng sắp xếp lại các quả lê khi không cần thiết về mặt kỹ thuật là tốt.
Chi tiết
- Lấy tên tệp của hình ảnh hoặc dữ liệu hình ảnh thô thông qua lệnh gọi stdin / dòng lệnh / hàm.
- Xuất hình ảnh ra một tệp với tên bạn chọn hoặc xuất dữ liệu tệp hình ảnh thô thành thiết bị xuất chuẩn hoặc chỉ đơn giản là hiển thị hình ảnh.
- Bất kỳ định dạng tập tin hình ảnh lossless phổ biến có thể được sử dụng.
- Thư viện đồ họa và hình ảnh có thể được sử dụng.
- Một vài pixel không chính xác ở đây và ở đó (do mất hoặc một cái gì đó) không phải là một vấn đề lớn. Nếu tôi không thể nói bất cứ điều gì là sai về mặt trực quan thì có lẽ không sao.
Mã ngắn nhất tính bằng byte thắng. Tiebreaker là bài bình chọn cao nhất.