题目描述
blablabla
样例import java.util.Scanner;
public class Main{
static int N = 20;
static String[][] g = new String[N][N];
static boolean[] col= new boolean[N];
static boolean[] d= new boolean[N];
static boolean[] b= new boolean[N];
static int n;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
for(int i=0;i<N;i) {
for(int j=0;j<N;j)
g[i][j]=”.”;
}
dfs(0);
}
static public void dfs(int u) {
if(u == n) {
for(int i=0;i<n;i) {
for(int j=0;j<n;j)
System.out.print(g[i][j]);
System.out.println();
}
System.out.println();
return;
}
for(int i=0;i<n;i++) {
if(!col[i] && !d[u + i] && !b[n - u + i]) {
g[u][i] = “Q”;
col[i] = d[u + i] = b[n - u + i] = true;
dfs(u+1);
col[i] = d[u + i] = b[n - u + i] = false;
g[u][i] = “.”;
}
}
}
}
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla