本题目要求读入一个字符串,编写程序,用下面的自动机进行词法分析,输出单词串
输入格式:
输入一个字符串。
输出格式:
若字符串正确,输出单词串。如果有错误,输出错误的类型。
输入样例1:
bacbacdabbaccb
输出样例1:
bacb
acdab
baccb
字符串共被划分为3个词
输入样例2:
abaxab
输出样例2:
ab
a
字符串中第4个字符x是一个非法字符
输入样例3:
abaaba
输出样例3:
ab
a
字符串中第4个字符a发生了错误
输入样例4:
aba
输出样例4:
ab
a
最后一个词不完整
思路:每个圈的数和旁边的箭头对应自动机的处理(理解成一个函数),配合代码即可轻松理解
AC代码:
#include <bits/stdc++.h>
using namespace std;
int state,cnt;
char s[100];
bool os(char ch)
{
if(state==0