Seseorang dengan terburu-buru menumpuk hadiah Natal, dan itu cukup berantakan:
========================
| |
========================
=============
| |
| |
| |
| |
| |
| |
=============
=======
| |
| |
| |
=======
===================
| |
| |
| |
===================
=================
| |
| |
| |
| |
=================
=======
| |
| |
=======
Seperti, serius, bagaimana top itu menyajikan keseimbangan. Mungkin palu. Untuk mencegah menara hadiah ini runtuh, Anda harus menyusun ulang hadiah agar tertumpuk dengan baik:
=======
| |
| |
=======
=======
| |
| |
| |
=======
=============
| |
| |
| |
| |
| |
| |
=============
=================
| |
| |
| |
| |
=================
===================
| |
| |
| |
===================
========================
| |
========================
Aturan
- Setiap hadiah terdiri dari karakter atas dan bawah
=
, dan satu atau lebih baris tengah, yang terdiri dari dua|
dipisahkan oleh spasi. Lebar hadiah sama di semua barisnya. - Tidak ada garis kosong.
- Hadiah berurutan akan tumpang tindih dalam setidaknya satu kolom.
- Hadiah harus ditumpuk agar mengurangi lebar. Jika ada dasi, hadiah yang lebih tinggi harus di bawah hadiah yang lebih rata.
- Hadiah harus dipusatkan pada saat ini di bawah. Jika hadiah tidak dapat ditempatkan tepat di tengah (karena perbedaan lebar ganjil), Anda dapat memilih posisi yang setengah karakter dari tengah.
- Anda mungkin atau mungkin tidak berasumsi bahwa input memiliki satu baris baru, tetapi tolong sebutkan asumsi Anda.
- Solusi Anda tidak harus berfungsi untuk input kosong, tetapi harus dapat menangani satu hadiah.
- Anda dapat menulis sebuah program atau fungsi, yang mengambil input melalui STDIN atau argumen fungsi dan mengembalikan hasilnya atau mencetaknya ke STDOUT.
- Ini adalah kode golf, jadi jawaban tersingkat (dalam byte) menang.