誰かが急いでクリスマスプレゼントを積み上げており、それは非常に混乱しています。
========================
| |
========================
=============
| |
| |
| |
| |
| |
| |
=============
=======
| |
| |
| |
=======
===================
| |
| |
| |
===================
=================
| |
| |
| |
| |
=================
=======
| |
| |
=======
真剣に、そのトップがどのようにバランスを示しているのか。おそらくハンマーです。このプレゼントの塔が崩れるのを防ぐには、プレゼントを並べ替えて、うまくスタックするようにします。
=======
| |
| |
=======
=======
| |
| |
| |
=======
=============
| |
| |
| |
| |
| |
| |
=============
=================
| |
| |
| |
| |
=================
===================
| |
| |
| |
===================
========================
| |
========================
ルール
- 各プレゼントは、
=
文字の上と下、および|
スペースで区切られた2つで構成される1つ以上の中間行で構成されます。現在の幅は、すべての行で同じです。 - 空行はありません。
- 連続するプレゼントは、少なくとも1つの列で重複します。
- プレゼントは、幅の狭い順に積み重ねられます。同点の場合、背の高いプレゼントは平らなプレゼントの下に行く必要があります。
- プレゼントは、その下のプレゼントを中心とする必要があります。(幅の違いが奇数であるため)プレゼントを正確に中央に配置できない場合は、中央から文字の半分だけ離れた位置を選択できます。
- 入力の末尾に改行が1つあると仮定する場合もしない場合もありますが、仮定を述べてください。
- ソリューションは空の入力に対して機能する必要はありませんが、単一のプレゼントを処理できる必要があります。
- STDINまたは関数の引数を介して入力を受け取り、結果を返すか、STDOUTに出力するプログラムまたは関数を作成できます。
- これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。