Я предполагаю, что вы имеете в виду строки вида a^nb^m
, где n
> m
.
Идея относительно проста: a
вы кладете ее в стек (вцикл *), для b
вы переключаетесь на отдельный цикл для выталкивания a
из стека.Если стек пуст, вы отказываетесь от FAIL.Если в первом цикле вы получаете что-то отличное от a
или b
, или во втором цикле вы получаете что-то отличное от b
, вы отказываетесь от FAIL.
В конце вы пытаетесьвставьте еще один a
, и если стек пуст, вы сдаете с ошибкой (т. е. у вас было хотя бы столько b
, сколько a
в стеке, возможно, больше).Если нет, УСПЕХ.
Редактировать: Как примечание, я не уверен, что это правильный сайт для этого вопроса, может быть лучше для программистов.Не уверен, хотя и не голосую, чтобы закрыть.