Dato un puzzle di alphametics, trova la soluzione corretta.
L'Alphametics è un puzzle in cui le lettere delle parole vengono sostituite con dei numeri.
Per esempio, SEND + MORE = MONEY:
S E N D
M O R E +
-----------
M O N E Y
Sostituendo queste lettere con dei numeri validi si ottiene:
9 5 6 7
1 0 8 5 +
-----------
1 0 6 5 2
Il risultato è corretto perché ogni lettera è sostituita da un numero diverso e le parole, tradotte in numeri, formano una somma valida.
Ogni lettera deve rappresentare una cifra diversa, e la cifra iniziale di un numero con più cifre non può essere zero.
Lo script riceverà il puzzle alfametico come un'unica stringa tramite lo standard input (stdin). La stringa del puzzle segue il formato WORD1 + WORD2 + ... == RESULT.
Per esempio:
SEND + MORE == MONEY
Se il puzzle ha una soluzione, stampa una sola riga composta da coppie LETTER=DIGIT separate da spazi, ordinate alfabeticamente per lettera.
Per l'esempio qui sopra, l'output dovrebbe essere:
D=7 E=5 M=1 N=6 O=0 R=8 S=9 Y=2
Se il puzzle ha più soluzioni valide, va bene stamparne una qualsiasi.
Se il puzzle non ha soluzione, non stampare nulla (una riga vuota).
Iscriviti a Exercism per imparare e padroneggiare AWK con 3 concetti92 esercizi e il mentoring di persone reali, tutto gratis.