题解 | #24点游戏算法#

24点游戏算法

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

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void async function () {
    let status = false;
    while(line = await readline()){
        let arr = line.split(' ').map(Number);
        dfs(0,0,arr);
        console.log(status);
    }
    function dfs(step,sum,arr){
        if(step == 4){
            if(sum == 24){
                status = true;
                return;
            }
        } else {
            step++;
            for(let i=0;i<arr.length;i++){
                let _arr = JSON.parse(JSON.stringify(arr));
                let num = _arr.splice(i,1)[0];
                dfs(step, sum + num, _arr);
                dfs(step, sum - num, _arr);
                dfs(step, sum * num, _arr);
                dfs(step, sum / num, _arr);
            }
        }
    }
}()

全部评论

相关推荐

点赞 评论 收藏
分享
06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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