Ai đó đã vội vàng xếp những món quà Giáng sinh, và nó khá lộn xộn:
========================
| |
========================
=============
| |
| |
| |
| |
| |
| |
=============
=======
| |
| |
| |
=======
===================
| |
| |
| |
===================
=================
| |
| |
| |
| |
=================
=======
| |
| |
=======
Giống như, nghiêm túc, làm thế nào mà hiện tại hàng đầu thậm chí cân bằng. Nó có lẽ là một cái búa. Để ngăn tháp quà này không bị vỡ vụn, bạn phải sắp xếp lại các món quà để chúng xếp chồng đẹp mắt:
=======
| |
| |
=======
=======
| |
| |
| |
=======
=============
| |
| |
| |
| |
| |
| |
=============
=================
| |
| |
| |
| |
=================
===================
| |
| |
| |
===================
========================
| |
========================
Những quy định
- Mỗi món quà bao gồm một đầu và cuối của các
=
ký tự, và một hoặc nhiều hàng giữa, bao gồm hai hàng|
cách nhau bởi các khoảng trắng. Chiều rộng của hiện tại là giống nhau trong tất cả các hàng của nó. - Không có dòng trống.
- Các món quà liên tiếp sẽ chồng lên nhau trong ít nhất một cột.
- Quà sẽ được xếp theo thứ tự chiều rộng giảm. Trong trường hợp cà vạt, món quà cao hơn nên đi bên dưới món quà phẳng hơn.
- Quà nên được tập trung vào hiện tại bên dưới. Nếu hiện tại không thể được đặt chính xác ở trung tâm (vì sự khác biệt về chiều rộng là số lẻ), bạn có thể chọn một trong hai vị trí nằm giữa một nửa ký tự.
- Bạn có thể hoặc không thể cho rằng đầu vào có một dòng mới duy nhất, nhưng vui lòng nêu giả định của bạn.
- Giải pháp của bạn không phải làm việc cho một đầu vào trống, nhưng phải có khả năng xử lý một món quà duy nhất.
- Bạn có thể viết một chương trình hoặc hàm, nhận đầu vào thông qua STDIN hoặc đối số hàm và trả về kết quả hoặc in nó sang STDOUT.
- Đây là mã golf, vì vậy câu trả lời ngắn nhất (tính bằng byte) sẽ thắng.