Buen día Leandro,
probá si podés sacar la solución agregándole el uso de no determinismo a tu estrategia.
Como los dos casos son un OR () , entonces los podés chequear por separado. Entonces fijate que las primeras a's que leas pueden "interpretarse" de dos maneras:
- 1) querés registrarlas en el stack para luego compararlas contra la cantidad de b's (caso )
- 2) no te interesan en lo más mínimo, porque lo que querés es registrar la cantidad de b's para compararlas con las c's (caso )
Eso quiere decir que para la primera "a" que leas vas a tener que tomar las dos decisiones a la vez: