请高手帮忙-——有限自动机
【问题描述】设有如下确定的状态转换图,0为起始状态,3,4为终结状态。编写程序,判断用户输入的符号串,是否被该有限自动机接受。
【输入】
输入文件dfa.in为一行字符串(字符个数小于1000);
【输出】
输出文件dfa.out包括一行,为一个整数,表示输入的符号串是否被该有限自动机接受,若接受,则输出0,否则输出首次出错字符所在的位置(注:输入串首字符的位置为1)。
学生只要编写函数int dfachk(char str[]),该函数的参数str为输入串,若输入串str被该有限自动机接受,则函数返回值为0。若输入串str在第n个字符处首次出错,则函数返回值为n。
【输入输出样例1】
dfa.in dfa.out
aa 3
【输入输出样例2】
dfa.in dfa.out
abbaaa 0
【输入输出样例3】
dfa.in dfa.out
ababaaab 4
【输入输出样例4】
dfa.in dfa.out
abaacaab 5
【数据规模】
输入的字符串长度L<1000