华为OD机考-小明减肥-DFS(JAVA 2025B卷)

java 复制代码
import java.util.*;
public class XiaomingLoseWeight {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] ints = Arrays.stream(scanner.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
        int n=ints[0],t=ints[1],k=ints[2];
        int[] arrs = Arrays.stream(scanner.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
        int[] used = new int[n];
        Arrays.sort(arrs);
        dfs(arrs,used,0,t,k);
        System.out.println(cnt);

    }
    private static int cnt = 0;

    private static void dfs(int[] arrs,int[] used ,int start, int t, int k) {
        if(t==0 && k==0){
            cnt++;
        }
        for (int i = start; i < arrs.length; i++) {
            if(i<arrs.length-1&& arrs[i+1]==arrs[i]&&used[i]==0){
                continue;
            }
            used[i] = 1;
            dfs(arrs,used,start+1,t-arrs[i],k-1);
            used[i]=0;
        }
    }
}
相关推荐
Cyanto1 小时前
Spring注解IoC与JUnit整合实战
java·开发语言·spring·mybatis
qq_433888931 小时前
Junit多线程的坑
java·spring·junit
gadiaola1 小时前
【SSM面试篇】Spring、SpringMVC、SpringBoot、Mybatis高频八股汇总
java·spring boot·spring·面试·mybatis
写不出来就跑路1 小时前
WebClient与HTTPInterface远程调用对比
java·开发语言·后端·spring·springboot
Cyanto1 小时前
深入MyBatis:CRUD操作与高级查询实战
java·数据库·mybatis
麦兜*2 小时前
Spring Boot 集成Reactive Web 性能优化全栈技术方案,包含底层原理、压测方法论、参数调优
java·前端·spring boot·spring·spring cloud·性能优化·maven
天上掉下来个程小白2 小时前
MybatisPlus-06.核心功能-自定义SQL
java·spring boot·后端·sql·微服务·mybatisplus
知了一笑2 小时前
独立开发第二周:构建、执行、规划
java·前端·后端
今天背单词了吗9802 小时前
算法学习笔记:17.蒙特卡洛算法 ——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·笔记·考研·算法·蒙特卡洛算法
Dcs3 小时前
从 C 到 Rust:一位开发者的 `tmux` 全面移植之旅
java