//
// Created by saili on 2019/8/12/0012.
//
using namespace std;
#include<cstdio>
#include<cstdlib>
#include<stack>
#include<queue>
char eq[10];
void solve()
{
scanf("%s",eq);
stack<char> s;
queue<char> q;
char c;
for(int i =0;i<7;i++)
{
c = eq[i];
if(c-'0'>=0 && c-'0'<=9)
{
q.push(c-'0');
}else if(c == 'x' || c == '/')
{
while(!s.empty() && s.top() != '+' && s.top() != '-')
{
q.push(s.top());
s.pop();
}
s.push(c);
}else{
while(!s.empty())
{
q.push(s.top());
s.pop();
}
s.push(c);
}
}
while(!s.empty())
{
q.push(s.top());
s.pop();
}
stack<int> rs;
while(!q.empty())
{
int l;
int r;
int res=0;
c = q.front();
q.pop();
if(c>=0 && c<=9)
{
rs.push(c);
}else{
l = rs.top();rs.pop();
r = rs.top();rs.pop();
if(c == 'x')
{
res = l*r;
}else if(c == '/')
{
res = r/l;
}else if(c == '+')
{
res = l+r;
}else
{
res = r-l;
}
rs.push(res);
}
}
int res = rs.top();
// printf("%s=%d,",eq,res);
if(res == 24){
printf("Yes\n");
}else{
printf("No\n");
}
}
int main(){
// freopen("E:\\Cpp\\Algorithm\\eq.txt","r",stdin);
// freopen("k.txt","w",stdout);
int n;
scanf("%d",&n);
for(int i = 0;i<n;i++)
{
solve();
}
return 0;
}
CCF201903-2,24点
最新推荐文章于 2022-11-27 10:22:01 发布