题解 | #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;
                }
            }
        }
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:16
点赞 评论 收藏
分享
积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
06-12 10:50
门头沟学院 Java
你的不定积分没加C:我怎么在学院群看到了同样的话
点赞 评论 收藏
分享
小叮当411:应该是1-3个月吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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