大佬你好,我看第二题没有对全排列的顺序有要求呀。为什么我这个只是输出顺序和你完全相反,其他结果全部一样,为什么只能过1/8; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main {     public void DFS(int n, int k,int tar,int level, List<Integer> list,List<List<Integer>>lists){         if(level==k){             List<Integer> t=new ArrayList<>();             t.addAll(list);             lists.add(t);             return;         }         for(int i=tar;i<=n;i++){             list.add(i);             DFS(n,k,i,level+1,list,lists);             list.remove(level);         }     }     public void printres(int n,int k){         List<List<Integer>>lists=new ArrayList<>();         List<Integer> list=new ArrayList<>();         DFS(n,k-1,0,0,list,lists);         System.out.println(lists.size());         for(int i=0;i<lists.size();i++){             int pre=0;             for(int j=0;j<lists.get(i).size();j++) {                 for (int w = pre; w < lists.get(i).get(j); w++) {                     System.out.print("*");                 }                 System.out.print("|");                 pre = lists.get(i).get(j);             }             for(int q=pre;q<n;q++){                 System.out.print("*");             }             System.out.println();         }     }     public static void main(String[] args) {         Main main=new Main();         Scanner sc=new Scanner(System.in);         int n=sc.nextInt();         int k=sc.nextInt();         main.printres(n,k);         } }
点赞 3

相关推荐

xxxxOxo:这公司幽默得很,要了简历半天一点动静都没有,过一会就给你发个邮件让你做测试,做完又没后文了,纯溜人
点赞 评论 收藏
分享
02-10 21:39
Java
点赞 评论 收藏
分享
牛客网
牛客企业服务