题解 | #24点游戏算法#

24点游戏算法

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

import java.util.*;
public class Main {
    public static boolean[]visited = new boolean[4];
    public static int []nums = new int[4];
    public static boolean flag = false;
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            for(int i =0;i<4;i++){
                nums[i]=sc.nextInt();
            }
            dfs(0,0);
            System.out.println(flag);
        }
    }
    public static void dfs(int start,double sum){
        if(start == 4){
            if(sum == 24){
                flag = true;
            }
        }else{
            start++;
            for(int i =0;i<4;i++){
                if(!visited[i]){
                    visited[i]=true;
                    dfs(start,sum+nums[i]);
                    dfs(start,sum-nums[i]);
                    dfs(start,sum*nums[i]);
                    dfs(start,sum/nums[i]);
                    visited[i] = false;
                }
            }
        }
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 15:58
投个小米提前批试试水,先投一个岗位看看形势,不行就再沉淀一下投第二个岗位,莫辜负
Java抽象带篮子:我嘞个骚刚,已经开始研发6g了吗
投递小米集团等公司7个岗位
点赞 评论 收藏
分享
牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
06-05 19:46
已编辑
武汉大学 后端
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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