Ti vengono date un sacco di provette ASCII, il tuo compito è ridurre il numero di provette utilizzate.
Ogni provetta si presenta così:
| |
| |
| |
|~~|
| |
| |
| |
| |
|__|
Ovviamente, ~~è il livello dell'acqua. La provetta può anche essere vuota, nel qual caso non ci sono ~~caratteri all'interno. Il tubo singolo può contenere fino a 8 unità di livello dell'acqua.
Viene fornito un numero finito di provette con diversi livelli di acqua all'interno. Devi versare l'acqua nel minor numero possibile di provette e produrre il risultato.
| | | | | | | | |~~| | |
| | | | | | | | | | | |
| | |~~| | | | | | | | |
|~~| | | | | | | | | |~~|
| | | | | | | | ------> | | | |
| | | | | | | | | | | |
| | | | |~~| | | | | | |
| | | | | | | | | | | |
|__| |__| |__| |__| |__| |__|
05 + 06 + 02 + 00 ------> 08 + 05
Come puoi vedere, le provette sono separate da un unico spazio. I tubi vuoti non devono essere mostrati in uscita. Questo è il codice golf, quindi vince il codice con il minor numero di byte.
Casi di prova: http://pastebin.com/BC0C0uii
Buon golf!