贴个第一题的吧,深度优先搜索一下

public class Main {
static int cnt=0;
public static void main(String[] args){
Scanner s=new Scanner(System.in);
String str="";
int n;
while(s.hasNext()){
cnt=0;
n=s.nextInt();
str=s.nextLine();
str=s.nextLine();
String[] strs=str.split(" ");
int i ;
int len=strs.length;
int a[]=new int[6];
F(strs,0,n,a);
System.out.println(cnt);
}
}
public static void F(String[] strs,int t,int n,int a[]){
if(t>=n){
cnt++;
return ;
}else{
int i ;
for(i=0;i<strs[t].length();i++){
if(a[strs[t].charAt(i)-'0']==0){
a[strs[t].charAt(i)-'0']=1;
F(strs,t+1,n,a);
a[strs[t].charAt(i)-'0']=0;
}
}
return ;
}
}
}