queenboard.java

来自「scheme实现的把皇后问题解法。输出为矩阵形式」· Java 代码 · 共 46 行

JAVA
46
字号
package mainbag;

public class Queenboard {

	    int n=8;
	    int []col=new int [n];
	    int []md=new int [n];
	    int []sd=new int [n];
	    int []q=new int [n];
	    int number;
	    
	    public Queenboard(int i){
	    	n=i;
	    	col=new int [n];
	 	    md=new int [2*n-1];
	 	    sd=new int [2*n-1];
	 	    q=new int [n];
	 	    number=0;
	    }
	    
	    void queen_col(int i){
	    	
	    	for(int j=0;j<n;j++){
	    		if(col[j]==0&&md[n+i-j-1]==0&&sd[i+j]==0){
	    			col[j]=md[n+i-j-1]=sd[i+j]=1;
	    			q[i]=j;
	    			if(i==n-1){									//当找到一个合适解时,输出结果
	    				number++;
	    				System.out.println("Number:"+number);
	    				output out=new output(n,q);
	    				out.putqueens();
	    				
	    			}
	    			else queen_col(i+1);
	    			col[j]=md[n+i-j-1]=sd[i+j]=0;
	    			q[i]=-1;
	    		}
	    	}
	    }
	    
	    public void queen_produc(){
	    	queen_col(0);
	    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?