Вам дано несколько пробирок ASCII, ваша задача - уменьшить количество пробирок.
Каждая пробирка выглядит так:
| |
| |
| |
|~~|
| |
| |
| |
| |
|__|
Очевидно, ~~
это уровень воды. Пробирка также может быть пустой, в этом случае ~~
внутри нет символов. Одиночная труба может содержать до 8 единиц уровня воды.
Вам дают конечное количество пробирок с различным уровнем воды внутри. Вы должны налить воду в наименьшее количество пробирок и вывести результат.
| | | | | | | | |~~| | |
| | | | | | | | | | | |
| | |~~| | | | | | | | |
|~~| | | | | | | | | |~~|
| | | | | | | | ------> | | | |
| | | | | | | | | | | |
| | | | |~~| | | | | | |
| | | | | | | | | | | |
|__| |__| |__| |__| |__| |__|
05 + 06 + 02 + 00 ------> 08 + 05
Как видите, пробирки разделены одним пробелом. Пустые пробирки не должны отображаться на выходе. Это код гольф, поэтому выигрывает код с наименьшим количеством байтов.
Тестовые случаи: http://pastebin.com/BC0C0uii
Удачного игры в гольф!