N皇后问题

Posted moxia1234

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了N皇后问题相关的知识,希望对你有一定的参考价值。

package com.nupt.lidata.interview;
/**
* Created by wyp on 2019/9/4.
*/
public class NQueue
private static int N = 8;
private static int[] Nqueue = new int[N];
private static int count = 0;

private static boolean is_oK(int row)

for(int i = 0;i<row;i++)

if(Nqueue[i]== Nqueue[row]||Math.abs(Nqueue[row]-Nqueue[i])==row-i)
return false;

return true;


public static void queue(int row)

if(row == N)

count ++;
for(int i =0;i<N;i++)

System.out.print(Nqueue[i]+" ");

System.out.println();
return;

for(int i = 0;i<N;i++)

Nqueue[row] = i;
if(is_oK(row))
queue(row+1);




public static void main(String[] args)

queue(0);
System.out.println(count);




参考:https://blog.csdn.net/qq_41033913/article/details/80054878·

以上是关于N皇后问题的主要内容,如果未能解决你的问题,请参考以下文章

递归--N皇后问题

蓝桥杯试题 基础练习 2n皇后问题以及n皇后问题

N皇后问题

33 N皇后问题

2n皇后问题

N皇后