Jemand hat die Weihnachtsgeschenke hastig gestapelt, und es ist ein ziemliches Durcheinander:
========================
| |
========================
=============
| |
| |
| |
| |
| |
| |
=============
=======
| |
| |
| |
=======
===================
| |
| |
| |
===================
=================
| |
| |
| |
| |
=================
=======
| |
| |
=======
Im Ernst, wie präsentiert dieses Top das Gleichgewicht? Es ist wahrscheinlich ein Hammer. Um zu verhindern, dass dieser Turm aus Geschenken zusammenbricht, müssen Sie die Geschenke neu anordnen, damit sie gut gestapelt werden:
=======
| |
| |
=======
=======
| |
| |
| |
=======
=============
| |
| |
| |
| |
| |
| |
=============
=================
| |
| |
| |
| |
=================
===================
| |
| |
| |
===================
========================
| |
========================
Die Regeln
- Jedes Geschenk besteht aus einem oberen und unteren
=
Zeichenbereich und einer oder mehreren mittleren Reihen, die aus zwei|
durch Leerzeichen getrennten Zeichen bestehen . Die Breite der Gegenwart ist in allen Reihen gleich. - Es sind keine Leerzeilen vorhanden.
- Aufeinanderfolgende Geschenke überlappen sich in mindestens einer Spalte.
- Geschenke sind in abnehmender Reihenfolge zu stapeln. Bei einem Unentschieden sollte das größere Geschenk unter das flachere Geschenk fallen.
- Geschenke sollten auf die darunter liegende Gegenwart zentriert sein. Wenn das Geschenk nicht genau in der Mitte platziert werden kann (weil der Breitenunterschied ungerade ist), können Sie eine der beiden Positionen wählen, die ein halbes Zeichen von der Mitte entfernt sind.
- Sie können davon ausgehen, dass die Eingabe eine einzelne nachgestellte Zeile enthält, geben Sie jedoch Ihre Annahme an.
- Ihre Lösung muss nicht für eine leere Eingabe funktionieren, sondern muss in der Lage sein, ein einzelnes Geschenk zu verarbeiten.
- Sie können ein Programm oder eine Funktion schreiben, die Eingaben über STDIN oder ein Funktionsargument entgegennimmt und das Ergebnis zurückgibt oder an STDOUT ausgibt.
- Dies ist Codegolf, daher gewinnt die kürzeste Antwort (in Bytes).