package search;
public class NQueue{
private int n=8;
private int[] x=new int[n];
private static int count=0;
public boolean check(int k){
for(int i=0;i<k;i++){
if( x[i] == x[k] || Math.abs(x[i]-x[k]) == (k-i)){
return false;
}
}
return true;
}
public void search(int k){
if(k>=n){
for(int i=0;i<n;i++){
System.out.println(x[i]);
}
count++;
System.out.println("-----------");
return ;
}
// System.out.println(k);
for(int i=0;i<n;i++){
x[k]=i;
if(check(k)){
search(k+1);
}
}
}
public static void main(String[] args){
NQueue test=new NQueue();
test.search(0);
System.out.println(NQueue.count);
}
}/*
* @author: wjf
* @version: 2016年4月21日 上午9:35:56
*/