void solve()
{
string s;cin>>s;
stack<int>num;
stack<char>op;
for(int i=0;i<(int)s.size();++i)
{
char c = s[i];
if(c>='1'&&c<='9')
num.push(c-'0');
else
{
if(c=='/')
{
int x = num.top();
num.pop();
int y = s[++i] - '0';
num.push(x/y);
}
if(c=='x')
{
int x = num.top();
num.pop();
int y = s[++i] - '0';
num.push(x*y);
}
else op.push(c);
}
}
stack<int>numm;
stack<char>opp;
while(num.size())
{
numm.push(num.top());
num.pop();
}
while(op.size())
{
opp.push(op.top());
op.pop();
}
int ans = numm.top();
numm.pop();
while(numm.size())
{
char c = opp.top();
opp.pop();
if(c=='+')
{
int y = numm.top();numm.pop();
ans+=y;
}
if(c=='-') //大坑 一开始这一行写的else就只能有70,不知道为啥
{
int y = numm.top();numm.pop();
ans-=y;
}
}
if(ans==24) cout<<"Yes\n";
else cout<<"No\n";
}
CSP 201903-2 二十四点
最新推荐文章于 2022-02-25 10:49:34 发布