Sie erhalten eine Reihe von ASCII-Reagenzgläsern. Ihre Aufgabe ist es, die Anzahl der verwendeten Reagenzgläser zu reduzieren.
Jedes Reagenzglas sieht folgendermaßen aus:
| |
| |
| |
|~~|
| |
| |
| |
| |
|__|
Offensichtlich ~~
ist der Wasserstand. Das Reagenzglas kann auch leer sein. In diesem Fall sind keine ~~
Zeichen enthalten. Ein einzelnes Rohr kann bis zu 8 Wasserstandseinheiten enthalten.
Sie erhalten eine begrenzte Anzahl von Reagenzgläsern mit unterschiedlichen Wasserständen. Sie müssen das Wasser in möglichst wenigen Reagenzgläsern einfüllen und das Ergebnis ausgeben.
| | | | | | | | |~~| | |
| | | | | | | | | | | |
| | |~~| | | | | | | | |
|~~| | | | | | | | | |~~|
| | | | | | | | ------> | | | |
| | | | | | | | | | | |
| | | | |~~| | | | | | |
| | | | | | | | | | | |
|__| |__| |__| |__| |__| |__|
05 + 06 + 02 + 00 ------> 08 + 05
Wie Sie sehen, sind die Reagenzgläser durch ein einzelnes Leerzeichen getrennt. Leere Röhren sollten in der Ausgabe nicht angezeigt werden. Dies ist Codegolf, also gewinnt Code mit der geringsten Anzahl von Bytes.
Testfälle: http://pastebin.com/BC0C0uii
Viel Spaß beim Golfen!