#include<iostream>
#include<string>
#include<stack>
#include<map>
using namespace std;
int main(){
map<char,int> p;
stack<
char> s1;
stack<int> s2;
p['x']=2;
p['/']=2;
p['+']=1;
p['-']=1;
int n;
cin>>n;
string s;
while(n--){
cin>>s;
for(int i=0;i<s.length();i++){
if(s[i]>='0'&&s[i]<='9'){
s2.push((int)(s[i]-'0'));
}
else{
if(s1.empty()||p[s[i]]>p[s1.top()]){
s1.push(s[i]);
}
else{
int a=s2.top();
s2.pop();
int b=s2.top();
s2.pop();
char temp=s1.top();
s1.pop();
if(temp=='-'){
s2.push(b-a);
}
else if(temp=='+'){
s2.push(b+a);
}
else if(temp=='x'){
s2.push(b*a);
}
else{
s2.push(b/a);
}
s1.push(s[i]);
}
}
}
while(!s1.empty()){
int a=s2.top();
s2.pop();
int b=s2.top();
s2.pop();
char temp=s1.top();
s1.pop();
if(temp=='-'){
s2.push(b-a);
}
else if(temp=='+'){
s2.push(b+a);
}
else if(temp=='x'){
s2.push(b*a);
}
else{
s2.push(b/a);
}
}
if(s2.top()==24){
cout<<"Yes"<<endl;
}
else{
cout<<"No"<<endl;
}
}
return 0;
}
[CCF/CSP] 2019-(2) 二十四点 C++ 100
最新推荐文章于 2021-01-28 17:00:50 发布