#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
#include <iomanip>
#include <vector>
using namespace std;
int main() {
string input_string;
//char char_string[20];
int counter=0;
cout << "type in some input text:$" << endl;
cin >> /*setw(19) >>*/ input_string;
cout <<"sizeof(input_string)="<<sizeof(input_string)<<endl;
cout <<"input_string.size()="<<input_string.size()<<endl;
//strncpy(char_string, input_string.c_str(), sizeof(char_string));
//char_string[sizeof(char_string)-1]=0;
//cout << strlen(char_string)<<endl;
//if (strlen(char_string)<input_string.size())
// cout << "Input string was cut: only the first "<<strlen(char_string)<<" chars ar considered"<<endl;
vector<char>char_string(input_string.begin(), input_string.end());
for (int i = 0; i < input_string.size(); i++) // instead of sizeof(input_string)
{
if(char_string[i]=='a' || char_string[i]=='b'){
switch(char_string[i])
{
case 'a' :
counter++;
break;
case 'b' :
if(counter==1){
counter=0;
}
break;
}
}
else {
counter=0;
break;
}
}
if(counter>=2){
cout << "String accepted" << endl;
}
else{
cout << "String not accepted" << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBzdHJpbmcgaW5wdXRfc3RyaW5nOwogICAgLy9jaGFyIGNoYXJfc3RyaW5nWzIwXTsKICAgIGludCBjb3VudGVyPTA7CgogICAgY291dCA8PCAidHlwZSBpbiBzb21lIGlucHV0IHRleHQ6JCIgPDwgZW5kbDsKICAgIGNpbiA+PiAvKnNldHcoMTkpID4+Ki8gaW5wdXRfc3RyaW5nOwogICAgY291dCA8PCJzaXplb2YoaW5wdXRfc3RyaW5nKT0iPDxzaXplb2YoaW5wdXRfc3RyaW5nKTw8ZW5kbDsKICAgIGNvdXQgPDwiaW5wdXRfc3RyaW5nLnNpemUoKT0iPDxpbnB1dF9zdHJpbmcuc2l6ZSgpPDxlbmRsOwoKICAgIC8vc3RybmNweShjaGFyX3N0cmluZywgaW5wdXRfc3RyaW5nLmNfc3RyKCksIHNpemVvZihjaGFyX3N0cmluZykpOwogICAgLy9jaGFyX3N0cmluZ1tzaXplb2YoY2hhcl9zdHJpbmcpLTFdPTA7CiAgICAvL2NvdXQgPDwgc3RybGVuKGNoYXJfc3RyaW5nKTw8ZW5kbDsgCiAgICAvL2lmIChzdHJsZW4oY2hhcl9zdHJpbmcpPGlucHV0X3N0cmluZy5zaXplKCkpIAogICAgLy8gICAgY291dCA8PCAiSW5wdXQgc3RyaW5nIHdhcyBjdXQ6IG9ubHkgdGhlIGZpcnN0ICI8PHN0cmxlbihjaGFyX3N0cmluZyk8PCIgY2hhcnMgYXIgY29uc2lkZXJlZCI8PGVuZGw7IAoKICAgIHZlY3RvcjxjaGFyPmNoYXJfc3RyaW5nKGlucHV0X3N0cmluZy5iZWdpbigpLCBpbnB1dF9zdHJpbmcuZW5kKCkpOwoKICAgIGZvciAoaW50IGkgPSAwOyAgaSA8IGlucHV0X3N0cmluZy5zaXplKCk7IGkrKykgIC8vIGluc3RlYWQgb2Ygc2l6ZW9mKGlucHV0X3N0cmluZykKICAgIHsKICAgICAgICBpZihjaGFyX3N0cmluZ1tpXT09J2EnIHx8IGNoYXJfc3RyaW5nW2ldPT0nYicpewogICAgICAgICAgICBzd2l0Y2goY2hhcl9zdHJpbmdbaV0pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgIGNhc2UgJ2EnIDoKICAgICAgICAgICAgICAgICBjb3VudGVyKys7CiAgICAgICAgICAgICAgICAgYnJlYWs7ICAgICAgICAgICAgICAKICAgICAgICAgICAgIGNhc2UgJ2InIDoKICAgICAgICAgICAgICAgICBpZihjb3VudGVyPT0xKXsKICAgICAgICAgICAgICAgICAgICAgY291bnRlcj0wOwogICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAJY291bnRlcj0wOwogICAgICAgICAJYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgfQoKICAgICBpZihjb3VudGVyPj0yKXsKICAgICAgICBjb3V0IDw8ICJTdHJpbmcgYWNjZXB0ZWQiIDw8IGVuZGw7CiAgICAgfQogICAgIGVsc2V7CiAgICAgICAgY291dCA8PCAiU3RyaW5nIG5vdCBhY2NlcHRlZCIgPDwgZW5kbDsKICAgICB9Cn0=