解题思路:使用全排序 ,然后从小到大排序 去重就好
注意事项:
参考代码:
import java.awt.print.Book; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Scanner; public class 彩票 { /** * @param args */ static String n=""; static int[] book = new int[10];// 手牌 static int[] a = new int[10];// 三个盒子 static ArrayList<String> arrayList; public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner=new Scanner(System.in); n=scanner.next(); arrayList=new ArrayList<String>(); for (int i = 0; i <n.length(); i++) { int sum=Integer.parseInt(""+n.charAt(i)); book[sum]++; } dfs(1); Collections.sort(arrayList); String d=""; for (String str : arrayList) { if (str.equals(d)) { } else { System.out.println(str); d=str; } } } static void dfs(int step) { if (step==n.length()+1) {//结束条件 String num=""; for (int i = 1; i <=n.length(); i++) { num+=a[i]; } arrayList.add(num); return; } for (int i = 0; i <n.length(); i++) { int sum=Integer.parseInt(""+n.charAt(i)); if (book[sum] >=1) {// 判断手上是否有这张手牌 //使用扑克牌 a[step] = sum;//把牌放到空盒子里 book[sum]--;//标记手上没有这张牌 dfs(step + 1);//调用之前的方法 book[sum]++;//结束后牌拿出 } } return; } }
0.0分
2 人评分
母牛的故事 (C语言代码)浏览:478 |
【出圈】 (C语言代码)浏览:824 |
打水问题 (C语言代码)浏览:1148 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:1000 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:686 |
三角形 (C++代码)递推浏览:825 |
【金明的预算方案】 (C++代码)浏览:996 |
C语言程序设计教程(第三版)课后习题6.3 (C++代码)浏览:1067 |
简单的a+b (C语言代码)浏览:661 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:651 |