ccf--2019/3/16--第二题

100分代码:

(暴力解决。。大佬别嫌)


/* 2 */
#include <iostream>
#include <cstring>

using namespace std;

const int N = 10;
char s[N];

int main(void){

    int n;
    scanf("%d",&n);
    for(int i=0; i<n; i++){
        cin >> s;
        int a = s[0] - '0';
        int b = s[2] - '0';
        int c = s[4] - '0';
        int d = s[6] - '0';
        int sum;

        if(s[1]=='+' && s[3]=='+' && s[5]=='+'){
            sum = a + b + c + d;
        }else if(s[1]=='+' && s[3]=='+' && s[5]=='-'){
            sum = a + b + c - d;
        }else if(s[1]=='+' && s[3]=='+' && s[5]=='x'){
            sum = a + b + (c * d);
        }else if(s[1]=='+' && s[3]=='+' && s[5]=='/'){
            sum = a + b + (c / d);
        }else if(s[1]=='+' && s[3]=='-' && s[5]=='+'){
            sum = a + b - c + d;
        }else if(s[1]=='+' && s[3]=='-' && s[5]=='-'){
            sum = a + b - c - d;
        }else if(s[1]=='+' && s[3]=='-' && s[5]=='x'){
            sum = a + b - (c * d);
        }else if(s[1]=='+' && s[3]=='-' && s[5]=='/'){
            sum = a + b - (c / d);
        }else if(s[1]=='+' && s[3]=='x' && s[5]=='+'){
            sum = a + (b * c) + d;
        }else if(s[1]=='+' && s[3]=='x' && s[5]=='-'){
            sum = a + (b * c) - d;
        }else if(s[1]=='+' && s[3]=='x' && s[5]=='x'){
            sum = a + (b * c) * d;
        }else if(s[1]=='+' && s[3]=='x' && s[5]=='/'){
            sum = a + (b * c) / d;
        }else if(s[1]=='+' && s[3]=='/' && s[5]=='+'){
            sum = a + (b / c) + d;
        }else if(s[1]=='+' && s[3]=='/' && s[5]=='-'){
            sum = a + (b / c) - d;
        }else if(s[1]=='+' && s[3]=='/' && s[5]=='x'){
            sum = a + (b / c) * d;
        }else if(s[1]=='+' && s[3]=='/' && s[5]=='/'){
            sum = a + (b / c) / d;
        }else if(s[1]=='-' && s[3]=='+' && s[5]=='+'){
            sum = a - b + c + d;
        }else if(s[1]=='-' && s[3]=='+' && s[5]=='-'){
            sum = a - b + c - d;
        }else if(s[1]=='-' && s[3]=='+' && s[5]=='x'){
            sum = a - b + (c * d);
        }else if(s[1]=='-' && s[3]=='+' && s[5]=='/'){
            sum = a - b + (c / d);
        }else if(s[1]=='-' && s[3]=='-' && s[5]=='+'){
            sum = a - b - c + d;
        }else if(s[1]=='-' && s[3]=='-' && s[5]=='-'){
            sum = a - b - c - d;
        }else if(s[1]=='-' && s[3]=='-' && s[5]=='x'){
            sum = a - b - (c * d);
        }else if(s[1]=='-' && s[3]=='-' && s[5]=='/'){
            sum = a - b - (c / d);
        }else if(s[1]=='-' && s[3]=='x' && s[5]=='+'){
            sum = a - (b * c) + d;
        }else if(s[1]=='-' && s[3]=='x' && s[5]=='-'){
            sum = a - (b * c) - d;
        }else if(s[1]=='-' && s[3]=='x' && s[5]=='x'){
            sum = a - (b * c) * d;
        }else if(s[1]=='-' && s[3]=='x' && s[5]=='/'){
            sum = a - (b * c) / d;
        }else if(s[1]=='-' && s[3]=='/' && s[5]=='+'){
            sum = a - (b / c) + d;
        }else if(s[1]=='-' && s[3]=='/' && s[5]=='-'){
            sum = a - (b / c) - d;
        }else if(s[1]=='-' && s[3]=='/' && s[5]=='x'){
            sum = a - (b / c) * d;
        }else if(s[1]=='-' && s[3]=='/' && s[5]=='/'){
            sum = a - (b / c) / d;
        }else if(s[1]=='x' && s[3]=='+' && s[5]=='+'){
            sum = (a * b) + c + d;
        }else if(s[1]=='x' && s[3]=='+' && s[5]=='-'){
            sum = (a * b) + c - d;
        }else if(s[1]=='x' && s[3]=='+' && s[5]=='x'){
            sum = (a * b) + (c * d);
        }else if(s[1]=='x' && s[3]=='+' && s[5]=='/'){
            sum = (a * b) + (c / d);
        }else if(s[1]=='x' && s[3]=='-' && s[5]=='+'){
            sum = (a * b) - c + d;
        }else if(s[1]=='x' && s[3]=='-' && s[5]=='-'){
            sum = (a * b) - c - d;
        }else if(s[1]=='x' && s[3]=='-' && s[5]=='x'){
            sum = (a * b) - (c * d);
        }else if(s[1]=='x' && s[3]=='-' && s[5]=='/'){
            sum = (a * b) - (c / d);
        }else if(s[1]=='x' && s[3]=='x' && s[5]=='+'){
            sum = a * b * c + d;
        }else if(s[1]=='x' && s[3]=='x' && s[5]=='-'){
            sum = a * b * c - d;
        }else if(s[1]=='x' && s[3]=='x' && s[5]=='x'){
            sum = a * b * c * d;
        }else if(s[1]=='x' && s[3]=='x' && s[5]=='/'){
            sum = a * b * c / d;
        }else if(s[1]=='x' && s[3]=='/' && s[5]=='+'){
            sum = a * b / c + d;
        }else if(s[1]=='x' && s[3]=='/' && s[5]=='-'){
            sum = a * b / c - d;
        }else if(s[1]=='x' && s[3]=='/' && s[5]=='x'){
            sum = a * b / c * d;
        }else if(s[1]=='x' && s[3]=='/' && s[5]=='/'){
            sum = a * b / c / d;
        }else if(s[1]=='/' && s[3]=='+' && s[5]=='+'){
            sum = (a / b) + c + d;
        }else if(s[1]=='/' && s[3]=='+' && s[5]=='-'){
            sum = (a / b) + c - d;
        }else if(s[1]=='/' && s[3]=='+' && s[5]=='x'){
            sum = (a / b) + (c * d);
        }else if(s[1]=='/' && s[3]=='+' && s[5]=='/'){
            sum = (a / b) + (c / d);
        }else if(s[1]=='/' && s[3]=='-' && s[5]=='+'){
            sum = (a / b) - c + d;
        }else if(s[1]=='/' && s[3]=='-' && s[5]=='-'){
            sum = (a / b) - c - d;
        }else if(s[1]=='/' && s[3]=='-' && s[5]=='x'){
            sum = (a / b) - (c * d);
        }else if(s[1]=='/' && s[3]=='-' && s[5]=='/'){
            sum = (a / b) - (c / d);
        }else if(s[1]=='/' && s[3]=='x' && s[5]=='+'){
            sum = a / b * c + d;
        }else if(s[1]=='/' && s[3]=='x' && s[5]=='-'){
            sum = a / b * c - d;
        }else if(s[1]=='/' && s[3]=='x' && s[5]=='x'){
            sum = a / b * c * d;
        }else if(s[1]=='/' && s[3]=='x' && s[5]=='/'){
            sum = a / b * c / d;
        }else if(s[1]=='/' && s[3]=='/' && s[5]=='+'){
            sum = (a / b) / c + d;
        }else if(s[1]=='/' && s[3]=='/' && s[5]=='-'){
            sum = (a / b) / c - d;
        }else if(s[1]=='/' && s[3]=='/' && s[5]=='x'){
            sum = (a / b) / c * d;
        }else if(s[1]=='/' && s[3]=='/' && s[5]=='/'){
            sum = (a / b) / c / d;
        }

        if(sum == 24){
            printf("Yes\n");
        }else
            printf("No\n");
    }

    return 0;
}

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值