Você recebe vários tubos de ensaio ASCII, sua tarefa é reduzir o número de tubos de ensaio usados.
Cada tubo de ensaio é assim:
| |
| |
| |
|~~|
| |
| |
| |
| |
|__|
Obviamente, ~~
é o nível da água. O tubo de ensaio também pode estar vazio; nesse caso, não há ~~
caracteres dentro. O tubo único pode conter até 8 unidades de nível de água.
Você recebe um número finito de tubos de ensaio com diferentes níveis de água no interior. Você precisa derramar a água na menor quantidade possível de tubos de ensaio e produzir o resultado.
| | | | | | | | |~~| | |
| | | | | | | | | | | |
| | |~~| | | | | | | | |
|~~| | | | | | | | | |~~|
| | | | | | | | ------> | | | |
| | | | | | | | | | | |
| | | | |~~| | | | | | |
| | | | | | | | | | | |
|__| |__| |__| |__| |__| |__|
05 + 06 + 02 + 00 ------> 08 + 05
Como você pode ver, os tubos de ensaio são separados com espaço único. Tubos vazios não devem ser mostrados na saída. Este é o código golf, então o código com o menor número de bytes vence.
Casos de teste: http://pastebin.com/BC0C0uii
Feliz golfe!