class Solution{
public static final int NUM_Q = 8;
public int count = 0;
public void _8_queen(int[] col, int line){
if (line>=NUM_Q){
print_q(col);
count ++;
return;
}else {
for (int i = 0; i < NUM_Q; i ++){
col[line] = i;
if (check_q(col, line))
_8_queen(col, line + 1);
}
}
}
public void print_q(int[]col){
for (int i = 0; i < col.length;i ++){
System.out.print(col[i]);
System.out.print(' ');
}
System.out.println();
}
public boolean check_q(int[]col, int line){
if (line >= NUM_Q)return false;
for (int i = 0; i < line; i ++){
if (col[i] == col[line] || Math.abs(col[line] - col[i]) == Math.abs(line - i))
return false;
}
return true;
}
}
八皇后问题
最新推荐文章于 2023-07-07 14:04:01 发布