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
)