#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool recognize_string(char *string)
{
int i = 0;
while (string[i] == 'a')
{
i++;
}
if (i == len)
{
return false;
}
while (string[i] == 'b')
{
i++;
}
if (i == len)
{
return true;
}
return false;
}
int main()
{
char string[100];
if (recognize_string(string))
{
printf("%s matches the rule a^*b^+\n", string
); }
else
{
printf("%s does not match the rule a^*b^+\n", string
); }
return 0;
}
CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkYm9vbC5oPgojaW5jbHVkZSA8c3RyaW5nLmg+Cgpib29sIHJlY29nbml6ZV9zdHJpbmcoY2hhciAqc3RyaW5nKQp7CiAgICBpbnQgbGVuID0gc3RybGVuKHN0cmluZyk7CiAgICBpbnQgaSA9IDA7CiAgICB3aGlsZSAoc3RyaW5nW2ldID09ICdhJykKICAgICAgICB7CiAgICAgICAgICAgIGkrKzsKICAgICAgICB9CiAgICBpZiAoaSA9PSBsZW4pCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgd2hpbGUgKHN0cmluZ1tpXSA9PSAnYicpCiAgICAgICAgewogICAgICAgICAgICBpKys7CiAgICAgICAgfQogICAgaWYgKGkgPT0gbGVuKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CgppbnQgbWFpbigpCnsKICAgIGNoYXIgc3RyaW5nWzEwMF07CiAgICBwcmludGYoIkVudGVyIGEgc3RyaW5nOiAiKTsKICAgIHNjYW5mKCIlcyIsIHN0cmluZyk7CiAgICBpZiAocmVjb2duaXplX3N0cmluZyhzdHJpbmcpKQogICAgICAgIHsKICAgICAgICAgICAgcHJpbnRmKCIlcyBtYXRjaGVzIHRoZSBydWxlIGFeKmJeK1xuIiwgc3RyaW5nKTsKICAgICAgICB9CiAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoIiVzIGRvZXMgbm90IG1hdGNoIHRoZSBydWxlIGFeKmJeK1xuIiwgc3RyaW5nKTsKICAgICAgICB9CiAgICByZXR1cm4gMDsKfQ==