import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Scanner; /** * @author Q * @version 1.0 * Create by 2023/8/19 19:31 */ class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n =sc.nextInt(); long[] arr = new long[n]; long sum = 0; for(int i =0;i<n;i++){ arr[i] = sc.nextLong(); sum+=arr[i]; } LinkedList<Integer> path = new LinkedList<>(); List<List<Integer>> ans = new ArrayList<>(); build(n, sum, 1, 0,path,ans,arr); System.out.println(ans.size()%1000000007); } private static void build(int k, long n, int startIndex, long sum,LinkedList<Integer> path,List<List<Integer>> ans,long[] arr) { if (sum > n) return; if (path.size() > k) return; if (sum == n && path.size() == k) { ans.add(new ArrayList<>(path)); return; } for(int i = 1; i <= 9; i++) { if(i==arr[path.size()]) continue; path.add(i); sum += i; build(k, n, i , sum,path,ans,arr); sum -= i; path.removeLast(); } } } 第四题用的回溯
点赞 4

相关推荐

2025-12-18 09:22
门头沟学院 Java
程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
实习简历求拷打
点赞 评论 收藏
分享
面了100年面试不知...:小天才g了,但是天才还在
我的求职进度条
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务