Dato un insieme di formule come questa:
bacb
bcab
cbba
abbc
Fornisci un algoritmo che trova il numero di risultati univoci che puoi ottenere quando ogni variabile viene sostituita da "0" o "1" in ogni formula.
Ci sono (k!)^2
formule, ognuna con 2k-1
variabili e k^2
termini. Esprimi i tuoi asintotici in termini di k
.
Vince l'algoritmo più veloce. In caso di pareggio, la soluzione con un utilizzo di memoria asintotica inferiore vince. Se questo è ancora un pareggio, il primo post vince.
Per l'esempio sopra, è possibile acquisire i seguenti risultati sostituendo le variabili:
1110, 0110, 1001, 0100, 1000, 0000, 0010, 1101, 1111, 0001, 1011, 0111
Quindi la risposta corretta è 12. Tra l'altro, 1010
non può essere fatto usando le formule sopra.
Ho realizzato altri tre casi di test, con rispettive soluzioni di 230 , 12076 e 1446672 .
a
, b
... è una variabile ? E abbiamo sempre solo un numero irregolare di variabili? Non importa quanto è lunga la sequenza di variabili e su quante formule ti vengono date?