有人急忙堆放圣诞节礼物,真是一团糟:
========================
| |
========================
=============
| |
| |
| |
| |
| |
| |
=============
=======
| |
| |
| |
=======
===================
| |
| |
| |
===================
=================
| |
| |
| |
| |
=================
=======
| |
| |
=======
认真地讲,顶端如何平衡。可能是锤子。为防止礼物塔坍塌,您需要对礼物重新排序,以便它们堆叠良好:
=======
| |
| |
=======
=======
| |
| |
| |
=======
=============
| |
| |
| |
| |
| |
| |
=============
=================
| |
| |
| |
| |
=================
===================
| |
| |
| |
===================
========================
| |
========================
规则
- 每个礼物由一个
=
字符的顶部和底部以及一个或多个中间行组成,中间行由两个|
以空格隔开的行组成。礼物的宽度在所有行中都相同。 - 没有空行。
- 连续礼物将至少重叠一列。
- 礼物应按宽度减小的顺序堆叠。如果出现平局,较高的礼物应低于较平的礼物。
- 礼物应以下方的礼物为中心。如果礼物不能精确地放置在中心位置(因为宽度的差异是奇数),则可以选择距离中心位置半个字符的任一位置。
- 您可能会或可能不会认为输入中只有一个结尾的换行符,但请说明您的假设。
- 您的解决方案不必用于空输入,但必须能够处理一个单据。
- 您可以编写程序或函数,该程序或函数通过STDIN或函数参数获取输入,然后将结果返回或将其打印到STDOUT。
- 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。