首页 > 代码库 > 合一算法2
合一算法2
#include<iostream> #include<string> #include<stack> using namespace std; int main() { stack<char> s; stack<int> b; string a; cin>>a; int flag=0; if(a[0]==‘P‘||a[0]==‘Q‘||a[0]==‘R‘||a[0]==‘S‘||a[0]==‘T‘) cout<<"谓词"<<endl; else { cout<<"普通命题"<<endl; return 0; } for(int i=0;i<a.length();i++) { if(a[i]==‘(‘) { s.push(‘(‘); b.push(i); } if(a[i]==‘)‘) { if(s.empty()) { flag=1; break; } else { s.pop(); int w=b.top(); if(w==1) { b.pop(); } else { if(a[w]!=‘f‘||a[w]!=‘g‘||a[w]!=‘h‘) flag=1; } } } } if(!s.empty()) flag=1; for(int i=0;i<a.length();i++) { if(a[i]==‘(‘||a[i]==‘,‘||a[i]==‘P‘) continue; else { if((‘a‘>a[i]&&a[i]>‘z‘)) { if(a[i]!=‘x‘||a[i]!=‘y‘) { flag=1; break; } } } } if(flag==0) cout<<"legal"<<endl; else cout<<"illegal"<<endl; return 0; }
合一算法2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。