#include<iostream>
using namespace std;
char isMD(char op){
return (op == '/' || op == 'x' ? true : false);
}
int op(char op, int n1, int n2){
switch (op){
case '+':
return n1 + n2;
case '-':
return n1 - n2;
case 'x':
return n1 * n2;
case '/':
return n1 / n2;
default:
return 0;
}
}
int main(){
int n, num1, num2, num3, num4, sum;
char op1, op2, op3, o1, o2, o3;
cin >> n;
string s;
for(int i = 0; i < n; i++){
cin >> s;
num1 = s[0] - '0';
num2 = s[2] - '0';
num3 = s[4] - '0';
num4 = s[6] - '0';
op1 = s[1];
op2 = s[3];
op3 = s[5];
o1 = isMD(op1);
o2 = isMD(op2);
o3 = isMD(op3);
if(o2){
if(o3){
if(o1){
sum = op(op3, op(op2, op(op1, num1, num2), num3), num4);
}else{
sum = op(op1, op(op3, op(op2, num2, num3), num4), num1);
}
}else{
if(o1){
sum = op(op3, op(op2, op(op1, num1, num2), num3), num4);
}else{
sum = op(op3, op(op1, op(op2, num2, num3), num1), num4);
}
}
}else{
if(o3){
if(o1){
sum = op(op2, op(op1, num1, num2), op(op3, num3, num4));
}else{
sum = op(op2, op(op1, num1, num2), op(op3, num3, num4));
}
}else{
if(o1){
sum = op(op3, op(op2, op(op1, num1, num2), num3), num4);
}else{
sum = op(op3, op(op2, op(op1, num1, num2), num3), num4);
}
}
}
cout << (sum == 24 ? "Yes" : "No") << endl;
}
return 0;
}
ccf csp题目:二十四点(c++)
最新推荐文章于 2024-04-20 23:26:54 发布