试题描述:
试题编号 | 201903-2 |
试题名称 | 二十四点 |
时间限制 | 1.0s |
内存限制 | 512.0MB |
问题描述 | |
参考代码:
#include<iostream>
#include<cstring>
#include<stack>
using namespace std;
int main(){
int n;
cin>>n;
string s;
int result[n]={0};
stack <int> q;
for(int i=0;i<n;i++){
cin>>s;
for(int j=0;j<7;j++){
if(s[j]>='1'&&s[j]<='9'){
q.push(s[j]-'0');
}
else if(s[j]=='x'||s[j]=='/'){
int a=0,b=0;
b=q.top();
if(s[j]=='x')
a=b*(s[j+1]-'0');
else
a=b/(s[j+1]-'0');
q.pop();
q.push(a);
j++;
}
else if(s[j]=='-'){
q.push(-(s[j+1]-'0'));
j++;
}
}
while(!q.empty()){
result[i]+=q.top();
q.pop();
}
}
for(int i=0;i<n;i++){
if(result[i]==24)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}
结果:
难度等级:
第二级(稍微有点难度)