递归下降 方法 1126 3295
来源:互联网 发布:网络用语品茶什么意思 编辑:程序博客网 时间:2024/04/30 02:48
http://acm.pku.edu.cn/JudgeOnline/problem?id=1126
http://acm.pku.edu.cn/JudgeOnline/problem?id=3295
两道题目很相似,都是对一个字符串进行分析,并得出结果,核心思想使用递归下降的方法
code 1126
- #include<iostream>
- #include<string>
- using namespace std;
- int j(0);
- string temp;
- int check();
- int main()
- {
- freopen("in.txt","r",stdin);
- int f;
- while(cin>>temp)
- {
- f=check();
- if(j<temp.size ())//如果调用完后,j<temp.size() 那么就为错
- f=0;
- j=0;
- if(f)
- cout<<"YES"<<endl;
- else
- cout<<"NO"<<endl;
- }
- return 0;
- }
- int check()
- {
- int ch=temp[j++];
- switch(ch)
- {
- case 'p':case 'q':case 'r':case 's':case 't':case 'u':case 'v':case 'w':case 'x':case 'y':case 'z':return 1;break;
- case 'I':case 'E':case 'D':case 'C':return check()&check();break;
- case 'N':return check();break;
- default:return 0;
- }
- }
code 3295
- #include<iostream>
- using namespace std;
- int check() ;
- int j(0);
- char temp[201];
- short v[200]={0};
- int main()
- {
- freopen("in.txt","r",stdin);
- int p,q,r,s,t,f(1);
- while(cin>>temp&&temp[0]!='0')
- {
- f=1;
- j=0;
- //对32 种情况的枚举
- for( p=0; p<=1&&f; p++)
- for( q=0; q<=1&&f; q++)
- for(r=0; r<=1&&f; r++)
- for(s=0; s<=1&&f; s++)
- for( t=0; t<=1&&f; t++)
- {
- v['p'-'0']=p;
- v['q'-'0']=q;
- v['r'-'0']=r;
- v['s'-'0']=s;
- v['t'-'0']=t;
- j=0;
- f=check();
- if(f==0)
- {
- cout<<"not"<<endl;
- break;
- }
- }
- if(f)
- cout<<"tautology"<<endl;
- }
- return 0;
- }
- int check() {
- int ch=temp[j++];
- switch(ch) {
- case 'p':case 'q':case 'r':case 's': case 't':return v[ch-'0']; break;
- case 'K': return check() & check(); break;
- case 'A': return check() | check(); break;
- case 'N': return !check();break;
- case 'C': return !check()|check();break;
- case 'E':return !check() ^ check(); break;
- }
- }
- 递归下降 方法 1126 3295
- 递归下降分析程序构造方法
- 从一个小巧的计算器,体会递归下降的方法
- 递归下降方法和LL(1)实现计算器C++
- 递归下降分析程序
- 递归下降分析法
- 递归下降分析子程序
- 递归下降子程序法
- 递归下降语法分析
- 递归下降分析法
- 递归下降的语法分析
- 递归下降的语法分析
- 递归下降语法分析程序设计
- 递归下降语法分析实验
- LL(1)递归下降
- 递归下降分析
- 递归下降分析程序
- 递归下降语法分析实验
- UNIX/LINUX编程学习方法
- 《人月神话》读书笔记(七)——为什么巴比伦塔会失败?
- 下半年-回归
- 报告称社交网站成网络攻击理想平台
- 一周学习小结
- 递归下降 方法 1126 3295
- 计算机基础知识(一)
- DIV+CSS页面布局——页面居中
- Ogre Intermediate Tutorial 1 改进版
- 一线员工公布的牛奶黑幕(转贴)
- 近年计算机新技术
- asp.net和JSP之间为何如此相象?
- ipv6资源提示
- 软件测试职业发展路线