题解 | #24点游戏算法#

24点游戏算法

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

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

bool dfs(vector<double> &vc, vector<bool> &used, double summ){
    // cout << "summ = " << summ << endl;
    if(summ == 24){
        return true;
    }
    for(int i = 0; i < 4; ++i){
        if(!used[i]){
           used[i] = true;
           if(dfs(vc, used, summ + vc[i])){
                return true;
           }else if(dfs(vc, used, summ - vc[i])){
                return true;
           }else if (dfs(vc, used, summ * vc[i])) {
                return true;
           }else if (vc[i] != 0 && dfs(vc, used, summ / vc[i])) {
                return true;
           }
           used[i] = false;
        }
    }
    return false;
}
int main() {
    vector<double> vc(4, 0);
    for(int i = 0; i < 4; ++i){
        cin >> vc[i];
    }
    vector<bool> used(4, false);
    if(dfs(vc, used, 0)){
        cout << "true" << endl;
    }else{
        cout << "false" << endl;
    }
    return 0;
}

我看了半天硬是没看出我的解有什么问题,看了别人的解答才知道要用double啊

全部评论

相关推荐

03-18 23:47
江南大学 C++
请狠狠拷打。。。刚开始找工作,盲目投了很多大厂,但是实际了解准备以后发现自己的水平还远远不够(悲)。项目只写了一个正规一点的,但是其实也没有了解很透彻,更不用说自己平时做的一些小东西了。我平时写东西就是一边写一边查文档,属于可以实操但是理论一知半解,所以不敢写在简历上。实在想走游戏行业,目前的意向是客户端/游测,友友们有没有什么建议
huangyong:简历中体现游戏的内容,把你做的小游戏的项目先写上,别管了解的深不深,先写下来。然后对照你写的内容去学习,去复盘,用到的技术、游戏设计上的思考、游戏仍不完善的地方、可以朝什么方向优化、怎么优化 这些东西都想一想说一说。找工作不是裸考,直接我就这样,爱要不要,你得积极点,主动复习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务