u012767259的专栏

Markdown那么好,还不来试试中国云计算大会最新议题5月问答又送C币咯!Hadoop实战高手速成宝典

N皇后问题

/**********Demo.java************/

package N皇后问题;

public class Demo {public static void main(String[] args) {//n皇后问题Queen_place qp = new Queen_place(4);qp.trial(0);System.out.println("4皇后问题"+"共有"+qp.getSum()+"种解法");}

}

/****************Queen_place.java******************/

package N皇后问题;public class Queen_place {private int place[][] ;//摆放矩阵,,0代表无,1代表有private int sum ;//解法个数private int n; //n皇后public Queen_place(int n){this.n = n;this.place = new int[n][n];}public int getSum(){return sum;}public void trial(int row ){//回溯法int i,j;if(row>=n){//输出摆放矩阵for( i = 0;i<n;i++){for( j = 0;j<n;j++){System.out.print(place[i][j]+" ");}System.out.println("\n");}sum++;System.out.println("+++++++++++++++++++++++++");//分隔各个输出解}else{for(int column = 0;column<n;column++){place[row][column] = 1;////放置皇后boolean sign = true ; //判定摆放在(row,column)的是否合法for(i = 0 ; i<row;i++){for(j = 0;j<n;j++){if(place[i][j]==1){if((j==column)||(i-row==j-column)||(i-row==column-j)){sign = false;}}}}if(sign){//摆放合法trial(row+1);}place[row][column] = 0;}}}}

上一篇模板设计

顶0踩0

主题推荐猜你在找

查看评论

* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

核心技术类目

读书须用意,一字值千金。

u012767259的专栏

相关文章:

你感兴趣的文章:

标签云: