题解 | #24点游戏算法#

24点游戏算法

https://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

//存储两个数字运算后的结果
double result(double a, double b, char op) {
    switch (op) {
        case '+':
            return a + b;
        case '-':
            return a - b;
        case '*':
            return a * b;
        case '/':
            return a / b;
    }
    return 0;
}
int main() {
    vector<double> vec(4, 0);
    while (cin >> vec[0] >> vec[1] >> vec[2] >> vec[3]) {
        sort(vec.begin(), vec.end());
        vector<char> vec_op = {'+', '-', '*', '/'};
        int flag;
        do {
            for (int i = 0; i < 4; ++i) {
                for (int j = 0; j < 4; ++j) {
                    for (int k = 0; k < 4; ++k) {
                        double num_1 = result(vec[0], vec[1], vec_op[i]);
                        double num_2 = result(num_1, vec[2], vec_op[j]);
                        double num_3 = result(num_2, vec[3], vec_op[k]);
                        if (num_3 == 24) {
                            cout << "true" << endl;
                            goto end;
                        }
                    }
                }
            }
        }while(next_permutation(vec.begin(),vec.end()));
        cout << "false" << endl;
    }
    end:
    return 0;
}

#23届找工作求助阵地##我的实习求职记录##14天打卡计划##零基础学习C++##春招#
全部评论

相关推荐

06-14 19:09
门头沟学院 Java
darius_:给制造业搞的,什么物料管理生产管理,设备管理点检,最最关键的就是一堆报表看板。个人觉得没啥技术含量都是些基本的crud,但是业务很繁琐那种
点赞 评论 收藏
分享
线性袋鼠:别听牛客上一帮伪人在那说,小厂不能去,必须去大厂,听他们放屁吧。学院本+一些一本最终的归宿就是中小厂,大厂那么好进吗
我的实习日记
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 13:05
TMD找工作本来就烦,这东西什么素质啊😡
Beeee0927:hr是超雄了,不过也是有道理的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务