NQueen

来源:互联网 发布:创维电视使用网络电视 编辑:程序博客网 时间:2024/06/06 20:41

import java.util.Scanner;

public class NQueen {
static int[] queenPos = new int[100];
static int N;
static int solve;

public static void main(String[] args) {    Scanner scanner = new Scanner(System.in);    N = scanner.nextInt();    queen(0);    System.out.println(solve);}private static void queen(int q) {    if (q == N) {        solve++;        for (int i = 0; i < N; i++) {                    for (int j = 0; j < queenPos[i]; j++) {                        System.out.print("-");                    }                    System.out.print("*");                    for (int j = queenPos[i] + 1; j < N; j++) {                        System.out.print("-");            }            System.out.println();        }        System.out.println();        return;    }    for (int i = 0; i < N; i++) {        int j;        for (j = 0; j < q; j++) {            if (queenPos[j] == i || Math.abs(queenPos[j] - i) == Math.abs(j - q))                break;        }        if (j == q) {            queenPos[q] = i;            queen(q + 1);        }    }}

}

原创粉丝点击