华为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;
        }
    }
}
相关推荐
毕设源码尹学长6 分钟前
计算机毕业设计 java 血液中心服务系统 基于 Java 的血液管理平台Java 开发的血液服务系统
java·开发语言·课程设计
lumi.29 分钟前
2.3零基础玩转uni-app轮播图:从入门到精通 (咸虾米总结)
java·开发语言·前端·vue.js·微信小程序·uni-app·vue
mask哥1 小时前
详解flink SQL基础(四)
java·大数据·数据库·sql·微服务·flink
灰原喜欢柯南1 小时前
Spring Boot 自动配置全流程深度解析
java·spring boot·后端
Code_Artist1 小时前
[Java并发编程]4.阻塞队列
java·数据结构·后端
心月狐的流火号2 小时前
Java NIO Selector 源码分析
java
MrSYJ2 小时前
AuthenticationEntryPoint认证入口
java·spring cloud·架构
lssjzmn2 小时前
Java并发容器ArrayBlockingQueue与LinkedBlockingQueue对比PK
java·消息队列
用户98408905087243 小时前
Java基础之深拷贝浅拷贝-Integer
java