Người ta đã chứng minh rằng 13 ô vuông Wang sau đây luôn xếp máy bay theo định kỳ . Điều này có nghĩa là khi các hình vuông được sắp xếp trong một lưới với tất cả các cạnh lân cận cùng màu, một bản dịch của mẫu sẽ không bao giờ khớp với chính nó.
Chúng tôi sẽ đại diện cho từng ô một cách văn bản bằng lưới 3 × 3 được lấp đầy các khoảng trống ở giữa và các góc, và các số từ 1 đến 5 thay vì các màu đỏ, xanh lá cây, xanh dương, vàng, xám, ở các cạnh:
2 2 2 1 1 1 4 3 2 2 4 3 2
1 2 1 3 2 3 2 1 3 1 3 2 4 4 4 4 4 5 4 5 5 5 5 5 5 4
3 2 3 2 3 2 1 2 1 4 1 2 2
Mục tiêu
Nhiệm vụ của bạn là viết một chương trình có chiều rộng và chiều cao và xuất ra lưới ô Wang hợp lệ với các kích thước đó. Ốp lát hợp lệ là một trong đó tất cả các cạnh gạch liền kề có cùng màu (hoặc số). Chương trình nhỏ nhất tính bằng byte thắng.
Đầu vào của bạn phải đến từ stdin hoặc đối số dòng lệnh và đầu ra sẽ đi đến thiết bị xuất chuẩn. Các định dạng đầu vào chính xác có thể là bất cứ điều gì hợp lý rõ ràng, như >>> wangtiler 3 2
. Chiều rộng và chiều cao luôn là số nguyên dương.
Ví dụ (width = 3, height = 2)
Lưu ý rằng khi chúng ta bố trí các ô văn bản, các cạnh lân cận tạo thành các cặp chữ số dự phòng cần thiết:
1 2 1
2 11 22 1
2 3 2
2 3 2
4 55 55 4
1 2 2
(Đây KHÔNG phải là định dạng đầu ra thích hợp.)
Chúng ta có thể nén chúng theo chiều ngang và chiều dọc để có được:
1 2 1
2 1 2 1
2 3 2
4 5 5 4
1 2 2
Định dạng nén này là định dạng đầu ra thích hợp bạn phải sử dụng. Các dòng được đánh số lẻ phải bao gồm không gian dấu của chúng.
Tiền thưởng đồ họa
Thay vì có bất kỳ đầu ra văn bản nào, chương trình của bạn có thể xuất ra hình ảnh của lưới lát gạch. Các ô đồ họa phải được tạo thành từ bốn hình tam giác 45-45-90 được sắp xếp trong một hình vuông và sử dụng năm màu dễ phân biệt như các hình trên. Các đường viền màu đen là không cần thiết. Các ô đồ họa phải có kích thước tối thiểu 32 × 32 pixel. Không "nén" được áp dụng cho họ.
Hình ảnh phần thưởng ví dụ: (cùng lưới như ví dụ trên)
Phần thưởng có giá trị trừ 150 byte.
Ghi chú
- Bạn phải sử dụng bộ 13 gạch này.
- Gạch có thể không được xoay.
- Gạch có thể xuất hiện bất kỳ số lần (bao gồm không có lần nào).
- Bạn có thể giả sử ốp lát hợp lệ với bất kỳ kích thước nào là có thể.