Ho il seguente "problemone": dato un alfabeto di n lettere (diciamo n=4) voglio enumerare, ovvero creare un contenitore al cui interno ci siano tutte le possibili combinazioni di parole di k lettere (diciamo k=2)...
Supponiamo che l'alfabeto sia composto da queste lettere: a,b,c,d.
Allora le possibili parole di due lettere sono:
ab
ac
ad
bc
bd
cd
Ovviamente non sono parole ammissibili quelle in cui una lettera è ripetuta più volte (cioé, aa non è ammissibile), e sono parole uguali quelle contenenti le stesse lettere in posizioni diverse (cioè ab=ba, per cui la creo solo una volta).

Come posso procedere per l'implementazione, considerando che dovrò scalare su numeri piuttosto grandi?:master:
Mi conviene creare un array di stringhe, o un array di array?
Altrimenti?

Grazie per i suggerimenti!