Я оставлю ответ без изменений, поскольку он полезен в контексте.
С вашим обновлением вопроса и вашим дальнейшим обновлением предложенного решения мне кажется, что оно будет действительным. Молодец!
========= Старый пост в исторических целях ===========
Важное примечание: aa является подстрокой aaa. Таким образом, исключая аа, вы автоматически исключаете ааа, аааа и ааааа. Это означает, что вы можете иметь только 1 a подряд.
Поэтому, когда вы добавляете a, вам нужно переходить в состояние принятия. Всякий раз, когда вы добавляете a после этого, вам нужно переходить в состояние неприятия, которое зацикливается, несмотря ни на что.
Вот то, что я придумал. Я не рекомендую просто ... положить его вниз. Думать об этом. Эти проблемы очень важны в обучении, как вы думаете !!! Не балуй себя!
S обозначает начальное состояние
+ на углу обозначает состояние принятия
Х в углу означает не принимать состояние
B +-+ A +-+ A X-X A | B
+---|S| ---> |1| ---> |2| ------+
| +-+ +-+ X-X |
+___^ ^___B___| ^________+
"" - ends on start - okay
"B" - ends on start - okay
"A" - ends on 1 - okay
"AA" - ends on 2 - not accepted
"BAA" - Stats on S, goes to S, goes to 1, goes to 2 - not accepted.
A - перемещает вас по линии к провалу.
Б - сбрасывает вас.
два как подряд и у тебя не получается: (