怎么看网站是哪个平台做的,推广价格一般多少,wordpress分类目录不显示,企业网站四大类型一:题目 二:思路
思路: 1.记得看书;不要一上来就莽;不然莽不过去的 2.这里我从书中了解到 f(0,b) 0; f(0,a) 1;f(1,c)1;f(1,b)3… 那么的话我们只要最终推导出f(1,b)3;那么的话就是一个满足要求的字符串; 注意我们入口部分一定是从 0 开始; 3.接下来就是要判断一些细枝末节 …一:题目 二:思路
思路: 1.记得看书;不要一上来就莽;不然莽不过去的 2.这里我从书中了解到 f(0,b) 0; f(0,a) 1;f(1,c)1;f(1,b)3… 那么的话我们只要最终推导出f(1,b)3;那么的话就是一个满足要求的字符串; 注意我们入口部分一定是从 0 开始; 3.接下来就是要判断一些细枝末节 字符是否合法; 字符是否够数; error不满足自动机的规则 eg:abaaba 那么连续两个a的话就是不合法的 4.那么关于f(0,b) 0;改用什么数据结构进行存储呢? mapint,mapchar,intm; //这个表示是一个二维映射即 我们两个key才可以确定一个value
三:上码
/**思路:1.记得看书;不要一上来就莽;不然是莽不过去的2.这里我从书中了解到 f(0,b) 0; f(0,a) 1;f(1,c)1;f(1,b)3....那么的话我们只要最终推导出f(1,b)3;那么的话就是一个满足要求的字符串;注意我们入口部分一定是从 0 开始; 3.接下来就是要判断一些细枝末节字符是否合法;字符是否够数;error不满足自动机的规则 eg:abaaba 那么连续两个a的话就是不合法的 4.那么关于f(0,b) 0;改用什么数据结构进行存储呢?mapint,mapchar,intm; //这个表示是一个二维映射即 我们两个key才可以确定一个value
*/
#includebits/stdc.h
using namespace std; bool judge(char ch) {if (ch a || ch b || ch c || ch d) return false;else return true;}int main() {string str;string s;string strs;int state 1;int cnt 0;mapint,mapchar,int m;//将自动机中的符号装进容器 这里是将从0开始的加了个1 主要就是处理不存在key值时候 m[][] 0的问题 m[1][b] 1;m[1][a] 2;m[2][c] 2;m[2][b] 4;m[2][d] 3;m[3][a] 2; // if (m.find(m[1][f]) ! m.end()) cout m[1][a]; cin s;for (int i 0; i s.size(); i) {str s[i];int flag 0;if (judge(s[i])) {int j i1;str str.substr(0,str.size()-1);cout str endl; cout 字符串中第 j 个字符 s[i] 是一个非法字符 endl;return 0;}if (m[state][s[i]] 0) {//我们要在下方计算出state之前完成判断,否则同一个 int j i1; //s[i]但是却有两个不同的state str str.substr(0,str.size()-1);cout str endl; cout 字符串中第 j 个字符 s[i] 发生了错误 endl;return 0;} state m[state][s[i]];//我们主要就是看这个状态是不是3是的话,那就是一个合法的字符串 //这个state我们是需要循环求出 state; if (state 4) {cout str endl;cnt;strs str;str ;//重新计算下一个单词 state 1;//这个也是从头开始 flag 1;}if (flag 0 i s.size() - 1) {//flag 0表示其不满足一个完整字符串的要求 cout str endl;cout 最后一个词不完整 endl; return 0; }}cout 字符串共被划分为 cnt 个词;}