n皇后问题
n*n棋盘放n个棋子,要求每行每列每条对角线都只有一个棋子。
输出可行的方案数。
import java.util.Scanner;
public class lanqiao1 {
static int res;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); //n*n棋盘,n个皇后
int []arr = new int[n]; //下标为行,值为列
dfs(arr,n,0);
System.out.println(res);
}
private static void dfs(int[] arr,int n ,int row) {
if(row == n){
res++;
return;
}
for(int col=0;col<n;col++){
boolean ok=true;
// 检验这个皇后是否和之前已经放置的皇后有冲突
for(int i=0;i<row;i++){
if(arr[i] == col || arr[i]+i

本文介绍了利用深度优先搜索(DFS)解决经典问题,包括n皇后问题的求解策略,探讨了素数环的定义及示例,以及详细阐述如何找到困难的串,并给出了样例输入和输出。
最低0.47元/天 解锁文章
1813

被折叠的 条评论
为什么被折叠?



