Citisem
solutia oficiala si
articolul despre automate finite. Am inteles cum se poate construi un automat finit care accepta un cuvant, dar, din cate inteleg din solutie, trebuie construit un automat care accepta mai multe cuvinte, iar starilor de acceptare le voi asocia apoi valorile "strigatului" (nu pot construi un automat avand ca stari cele 100 * 1000 valori posibile pentru strigat...). Dupa asta, dinamica e evidenta.
Insa, asa cum am spus, ramane de construit automatul pentru cele M cuvinte.

LE: Cred ca m-am prins cum se face: pot lua ca stari toate prefixele cuvintelor, prefixele comune aparand o singura data. Astfel am maxim LTot stari, unde LTot este lungimea totala a cuvintelor. Constructia automatului se poate face astfel in O( LTot*|sigma| )
LE2: ...sau nu
