Queen.java
import java.util.Scanner;
public class Queen {
private int Queen_count;
private static int have=0;
private boolean QueenQueue[][];
public Queen(int count){
this.Queen_count=count;
QueenQueue=new boolean [this.Queen_count][this.Queen_count];
this.init();
}
public void init(){
for(int i=0;i<this.Queen_count;i++)
{
for(int j=0;j<this.Queen_count;j++){
this.QueenQueue[i][j]=false;
}
}
}
public void Find_location(){
this.init();
int x=0,y=0;
Stack stack=new Stack(this.Queen_count);
for(int i=0;i<this.Queen_count;i++){
for(int j=y;j<this.Queen_count;j++){
if(HasLocation(i,j,stack)){
this.QueenQueue[i][j]=true;
stack.Insert(i, j);
y=0;
if(stack.length!=this.Queen_count){
break;
}
if(stack.length==this.Queen_count)
{
System.out.println("NUMBER:"+(++have));
this.Print();
if(stack.stack_y[0]==Queen_count-1){
return;
}
else{
if(stack.stack_y[stack.length-1]==Queen_count-1){
stack.Delete();
this.QueenQueue[stack.xx][stack.yy]=false;
while(stack.yy==Queen_count-1){
stack.Delete();
this.QueenQueue[stack.xx][stack.yy]=false;
}
i=stack.xx-1;
y=stack.yy+1;
break;
}
else{
}
}
}
}
else{