Ci viene fornito un elenco di numeri interi p1, ..., pk (non necessariamente distinti) in cui ognuno ha un valore compreso tra 1 e 9, inclusi. Usando ciascuno dei p1, ..., pk esattamente una volta, possiamo formare concatenazioni di cifre, per ottenere un nuovo elenco di numeri; abbiamo quindi prodotto il prodotto di questo nuovo elenco. L'obiettivo è massimizzare questo prodotto scegliendo le migliori concatenazioni di cifre.
Ad esempio, ci viene fornito l'elenco: 2 3 2 (separati da spazi). Possiamo formare le seguenti concatenazioni:
2 3 2(il prodotto di queste concatenazioni è12)23 2(il prodotto è46)32 2(il prodotto è64)22 3(il prodotto è66)
Poiché il più grande prodotto che possiamo formare di concatenazioni è 66, lo produciamo.
Regole:
- Deve esserci almeno una moltiplicazione (cioè non è possibile concatenare tutte le cifre e produrle).
- Non è possibile utilizzare altri operatori diversi dalla moltiplicazione, né inserire parentesi, ecc.
- Supponiamo che l'elenco degli interi indicati sia separato da spazi e che tutti gli interi abbiano valori compresi tra 1 e 9.
Il codice più corto (in byte) vince!
Casi test:
Ingresso: 1 2 3; Uscita: 63(cioè, 21*3)
Ingresso: 2 5 9; Uscita: 468( 52*9)
Ingresso: 1 2 3 4; Uscita: 1312( 41*32)