풀 세트
package cn.xmu.microsoft;
public class T32_1 {
private char[] c = {'A','B','C'};
private int[] total = {3,3,3,3};
static int count = 0;
private void RecursiveSearch(int[] answer,int index,int n){
if(index == n){
for(int i = 0;i < n;i++){
System.out.print(c[answer[i]]);
}
System.out.println();
count++;
return;
}
for(answer[index] = 0;answer[index] < total[index];answer[index]++){
RecursiveSearch( answer, index+1, n);
}
}
public static void main(String[] args){
int[] a = new int[4];
for(int i = 0;i<4;i++){
a[i] = 0;
}
T32_1 t32 = new T32_1();
t32.RecursiveSearch(a, 0, 4);
System.out.println(count);
}
}
totalk 는 배열 을 제어 하 는 모든 자리 에서 앞의 몇 글 자 를 선택 합 니 다.
예 를 들 어 후보 문 자 는 a, b, c, d 가 있 습 니 다. 길이 가 3 인 문자열 은 한 사람 당 4 * 4 * 4 가 중복 가능 합 니 다.
한 분 당 중복 이 허용 되 지 않 으 면 4 * 3 * 2 가 있 습 니 다. 참고 하 실 수 있 습 니 다. http://genie13.iteye.com/blog/1664860