zoukankan      html  css  js  c++  java
  • 2018.4.24 java实现8皇后算法

    import java.util.Scanner;
    
    public class Nqueens {
    	private boolean verify(int[] arr,int i) {
    		// TODO Auto-generated method stub
    		for (int j = 1; j != i; j++) {
    			if(j == i) {
    				continue;
    			}
    			if(arr[i]==arr[j]||Math.abs(i-j)==Math.abs(arr[i]-arr[j])) {
    				return false;
    			}
    		}
    		return true;
    	}
    	
    	private void nqueens(int[] arr,int i,int n) {
    		// TODO Auto-generated method stub
    		for (int j = 1; j < arr.length; j++) {
    			arr[i] = j;
    			if(verify(arr,i)) {
    				if(i == n) {
    					System.out.println("--------------------");
    					for (int k = 1; k < arr.length; k++) {
    						System.out.println("---" + k + "---" + arr[k]);
    					}
    				}else {
    					nqueens(arr,i+1,n);
    				}
    			}
    		}
    	}
    	
    	public static void main(String[] args) {
    		Scanner s = new Scanner(System.in);
    		String num = s.next();
    		int n = Integer.parseInt(num);
    		int[] arr = new int[n+1];
    		new Nqueens().nqueens(arr,1,n);
    	}
    }
    

      运行结果:

    8
    --------------------
    ---1---1
    ---2---5
    ---3---8
    ---4---6
    ---5---3
    ---6---7
    ---7---2
    ---8---4
    --------------------
    ---1---1
    ---2---6
    ---3---8
    ---4---3
    ---5---7
    ---6---4
    ---7---2
    ---8---5
    --------------------
    ---1---1
    ---2---7
    ---3---4
    ---4---6
    ---5---8
    ---6---2
    ---7---5
    ---8---3
    --------------------
    ---1---1
    ---2---7
    ---3---5
    ---4---8
    ---5---2
    ---6---4
    ---7---6
    ---8---3
    --------------------
    ---1---2
    ---2---4
    ---3---6
    ---4---8
    ---5---3
    ---6---1
    ---7---7
    ---8---5
    --------------------
    ---1---2
    ---2---5
    ---3---7
    ---4---1
    ---5---3
    ---6---8
    ---7---6
    ---8---4
    --------------------
    ---1---2
    ---2---5
    ---3---7
    ---4---4
    ---5---1
    ---6---8
    ---7---6
    ---8---3
    --------------------
    ---1---2
    ---2---6
    ---3---1
    ---4---7
    ---5---4
    ---6---8
    ---7---3
    ---8---5
    --------------------
    ---1---2
    ---2---6
    ---3---8
    ---4---3
    ---5---1
    ---6---4
    ---7---7
    ---8---5
    --------------------
    ---1---2
    ---2---7
    ---3---3
    ---4---6
    ---5---8
    ---6---5
    ---7---1
    ---8---4
    --------------------
    ---1---2
    ---2---7
    ---3---5
    ---4---8
    ---5---1
    ---6---4
    ---7---6
    ---8---3
    --------------------
    ---1---2
    ---2---8
    ---3---6
    ---4---1
    ---5---3
    ---6---5
    ---7---7
    ---8---4
    --------------------
    ---1---3
    ---2---1
    ---3---7
    ---4---5
    ---5---8
    ---6---2
    ---7---4
    ---8---6
    --------------------
    ---1---3
    ---2---5
    ---3---2
    ---4---8
    ---5---1
    ---6---7
    ---7---4
    ---8---6
    --------------------
    ---1---3
    ---2---5
    ---3---2
    ---4---8
    ---5---6
    ---6---4
    ---7---7
    ---8---1
    --------------------
    ---1---3
    ---2---5
    ---3---7
    ---4---1
    ---5---4
    ---6---2
    ---7---8
    ---8---6
    --------------------
    ---1---3
    ---2---5
    ---3---8
    ---4---4
    ---5---1
    ---6---7
    ---7---2
    ---8---6
    --------------------
    ---1---3
    ---2---6
    ---3---2
    ---4---5
    ---5---8
    ---6---1
    ---7---7
    ---8---4
    --------------------
    ---1---3
    ---2---6
    ---3---2
    ---4---7
    ---5---1
    ---6---4
    ---7---8
    ---8---5
    --------------------
    ---1---3
    ---2---6
    ---3---2
    ---4---7
    ---5---5
    ---6---1
    ---7---8
    ---8---4
    --------------------
    ---1---3
    ---2---6
    ---3---4
    ---4---1
    ---5---8
    ---6---5
    ---7---7
    ---8---2
    --------------------
    ---1---3
    ---2---6
    ---3---4
    ---4---2
    ---5---8
    ---6---5
    ---7---7
    ---8---1
    --------------------
    ---1---3
    ---2---6
    ---3---8
    ---4---1
    ---5---4
    ---6---7
    ---7---5
    ---8---2
    --------------------
    ---1---3
    ---2---6
    ---3---8
    ---4---1
    ---5---5
    ---6---7
    ---7---2
    ---8---4
    --------------------
    ---1---3
    ---2---6
    ---3---8
    ---4---2
    ---5---4
    ---6---1
    ---7---7
    ---8---5
    --------------------
    ---1---3
    ---2---7
    ---3---2
    ---4---8
    ---5---5
    ---6---1
    ---7---4
    ---8---6
    --------------------
    ---1---3
    ---2---7
    ---3---2
    ---4---8
    ---5---6
    ---6---4
    ---7---1
    ---8---5
    --------------------
    ---1---3
    ---2---8
    ---3---4
    ---4---7
    ---5---1
    ---6---6
    ---7---2
    ---8---5
    --------------------
    ---1---4
    ---2---1
    ---3---5
    ---4---8
    ---5---2
    ---6---7
    ---7---3
    ---8---6
    --------------------
    ---1---4
    ---2---1
    ---3---5
    ---4---8
    ---5---6
    ---6---3
    ---7---7
    ---8---2
    --------------------
    ---1---4
    ---2---2
    ---3---5
    ---4---8
    ---5---6
    ---6---1
    ---7---3
    ---8---7
    --------------------
    ---1---4
    ---2---2
    ---3---7
    ---4---3
    ---5---6
    ---6---8
    ---7---1
    ---8---5
    --------------------
    ---1---4
    ---2---2
    ---3---7
    ---4---3
    ---5---6
    ---6---8
    ---7---5
    ---8---1
    --------------------
    ---1---4
    ---2---2
    ---3---7
    ---4---5
    ---5---1
    ---6---8
    ---7---6
    ---8---3
    --------------------
    ---1---4
    ---2---2
    ---3---8
    ---4---5
    ---5---7
    ---6---1
    ---7---3
    ---8---6
    --------------------
    ---1---4
    ---2---2
    ---3---8
    ---4---6
    ---5---1
    ---6---3
    ---7---5
    ---8---7
    --------------------
    ---1---4
    ---2---6
    ---3---1
    ---4---5
    ---5---2
    ---6---8
    ---7---3
    ---8---7
    --------------------
    ---1---4
    ---2---6
    ---3---8
    ---4---2
    ---5---7
    ---6---1
    ---7---3
    ---8---5
    --------------------
    ---1---4
    ---2---6
    ---3---8
    ---4---3
    ---5---1
    ---6---7
    ---7---5
    ---8---2
    --------------------
    ---1---4
    ---2---7
    ---3---1
    ---4---8
    ---5---5
    ---6---2
    ---7---6
    ---8---3
    --------------------
    ---1---4
    ---2---7
    ---3---3
    ---4---8
    ---5---2
    ---6---5
    ---7---1
    ---8---6
    --------------------
    ---1---4
    ---2---7
    ---3---5
    ---4---2
    ---5---6
    ---6---1
    ---7---3
    ---8---8
    --------------------
    ---1---4
    ---2---7
    ---3---5
    ---4---3
    ---5---1
    ---6---6
    ---7---8
    ---8---2
    --------------------
    ---1---4
    ---2---8
    ---3---1
    ---4---3
    ---5---6
    ---6---2
    ---7---7
    ---8---5
    --------------------
    ---1---4
    ---2---8
    ---3---1
    ---4---5
    ---5---7
    ---6---2
    ---7---6
    ---8---3
    --------------------
    ---1---4
    ---2---8
    ---3---5
    ---4---3
    ---5---1
    ---6---7
    ---7---2
    ---8---6
    --------------------
    ---1---5
    ---2---1
    ---3---4
    ---4---6
    ---5---8
    ---6---2
    ---7---7
    ---8---3
    --------------------
    ---1---5
    ---2---1
    ---3---8
    ---4---4
    ---5---2
    ---6---7
    ---7---3
    ---8---6
    --------------------
    ---1---5
    ---2---1
    ---3---8
    ---4---6
    ---5---3
    ---6---7
    ---7---2
    ---8---4
    --------------------
    ---1---5
    ---2---2
    ---3---4
    ---4---6
    ---5---8
    ---6---3
    ---7---1
    ---8---7
    --------------------
    ---1---5
    ---2---2
    ---3---4
    ---4---7
    ---5---3
    ---6---8
    ---7---6
    ---8---1
    --------------------
    ---1---5
    ---2---2
    ---3---6
    ---4---1
    ---5---7
    ---6---4
    ---7---8
    ---8---3
    --------------------
    ---1---5
    ---2---2
    ---3---8
    ---4---1
    ---5---4
    ---6---7
    ---7---3
    ---8---6
    --------------------
    ---1---5
    ---2---3
    ---3---1
    ---4---6
    ---5---8
    ---6---2
    ---7---4
    ---8---7
    --------------------
    ---1---5
    ---2---3
    ---3---1
    ---4---7
    ---5---2
    ---6---8
    ---7---6
    ---8---4
    --------------------
    ---1---5
    ---2---3
    ---3---8
    ---4---4
    ---5---7
    ---6---1
    ---7---6
    ---8---2
    --------------------
    ---1---5
    ---2---7
    ---3---1
    ---4---3
    ---5---8
    ---6---6
    ---7---4
    ---8---2
    --------------------
    ---1---5
    ---2---7
    ---3---1
    ---4---4
    ---5---2
    ---6---8
    ---7---6
    ---8---3
    --------------------
    ---1---5
    ---2---7
    ---3---2
    ---4---4
    ---5---8
    ---6---1
    ---7---3
    ---8---6
    --------------------
    ---1---5
    ---2---7
    ---3---2
    ---4---6
    ---5---3
    ---6---1
    ---7---4
    ---8---8
    --------------------
    ---1---5
    ---2---7
    ---3---2
    ---4---6
    ---5---3
    ---6---1
    ---7---8
    ---8---4
    --------------------
    ---1---5
    ---2---7
    ---3---4
    ---4---1
    ---5---3
    ---6---8
    ---7---6
    ---8---2
    --------------------
    ---1---5
    ---2---8
    ---3---4
    ---4---1
    ---5---3
    ---6---6
    ---7---2
    ---8---7
    --------------------
    ---1---5
    ---2---8
    ---3---4
    ---4---1
    ---5---7
    ---6---2
    ---7---6
    ---8---3
    --------------------
    ---1---6
    ---2---1
    ---3---5
    ---4---2
    ---5---8
    ---6---3
    ---7---7
    ---8---4
    --------------------
    ---1---6
    ---2---2
    ---3---7
    ---4---1
    ---5---3
    ---6---5
    ---7---8
    ---8---4
    --------------------
    ---1---6
    ---2---2
    ---3---7
    ---4---1
    ---5---4
    ---6---8
    ---7---5
    ---8---3
    --------------------
    ---1---6
    ---2---3
    ---3---1
    ---4---7
    ---5---5
    ---6---8
    ---7---2
    ---8---4
    --------------------
    ---1---6
    ---2---3
    ---3---1
    ---4---8
    ---5---4
    ---6---2
    ---7---7
    ---8---5
    --------------------
    ---1---6
    ---2---3
    ---3---1
    ---4---8
    ---5---5
    ---6---2
    ---7---4
    ---8---7
    --------------------
    ---1---6
    ---2---3
    ---3---5
    ---4---7
    ---5---1
    ---6---4
    ---7---2
    ---8---8
    --------------------
    ---1---6
    ---2---3
    ---3---5
    ---4---8
    ---5---1
    ---6---4
    ---7---2
    ---8---7
    --------------------
    ---1---6
    ---2---3
    ---3---7
    ---4---2
    ---5---4
    ---6---8
    ---7---1
    ---8---5
    --------------------
    ---1---6
    ---2---3
    ---3---7
    ---4---2
    ---5---8
    ---6---5
    ---7---1
    ---8---4
    --------------------
    ---1---6
    ---2---3
    ---3---7
    ---4---4
    ---5---1
    ---6---8
    ---7---2
    ---8---5
    --------------------
    ---1---6
    ---2---4
    ---3---1
    ---4---5
    ---5---8
    ---6---2
    ---7---7
    ---8---3
    --------------------
    ---1---6
    ---2---4
    ---3---2
    ---4---8
    ---5---5
    ---6---7
    ---7---1
    ---8---3
    --------------------
    ---1---6
    ---2---4
    ---3---7
    ---4---1
    ---5---3
    ---6---5
    ---7---2
    ---8---8
    --------------------
    ---1---6
    ---2---4
    ---3---7
    ---4---1
    ---5---8
    ---6---2
    ---7---5
    ---8---3
    --------------------
    ---1---6
    ---2---8
    ---3---2
    ---4---4
    ---5---1
    ---6---7
    ---7---5
    ---8---3
    --------------------
    ---1---7
    ---2---1
    ---3---3
    ---4---8
    ---5---6
    ---6---4
    ---7---2
    ---8---5
    --------------------
    ---1---7
    ---2---2
    ---3---4
    ---4---1
    ---5---8
    ---6---5
    ---7---3
    ---8---6
    --------------------
    ---1---7
    ---2---2
    ---3---6
    ---4---3
    ---5---1
    ---6---4
    ---7---8
    ---8---5
    --------------------
    ---1---7
    ---2---3
    ---3---1
    ---4---6
    ---5---8
    ---6---5
    ---7---2
    ---8---4
    --------------------
    ---1---7
    ---2---3
    ---3---8
    ---4---2
    ---5---5
    ---6---1
    ---7---6
    ---8---4
    --------------------
    ---1---7
    ---2---4
    ---3---2
    ---4---5
    ---5---8
    ---6---1
    ---7---3
    ---8---6
    --------------------
    ---1---7
    ---2---4
    ---3---2
    ---4---8
    ---5---6
    ---6---1
    ---7---3
    ---8---5
    --------------------
    ---1---7
    ---2---5
    ---3---3
    ---4---1
    ---5---6
    ---6---8
    ---7---2
    ---8---4
    --------------------
    ---1---8
    ---2---2
    ---3---4
    ---4---1
    ---5---7
    ---6---5
    ---7---3
    ---8---6
    --------------------
    ---1---8
    ---2---2
    ---3---5
    ---4---3
    ---5---1
    ---6---7
    ---7---4
    ---8---6
    --------------------
    ---1---8
    ---2---3
    ---3---1
    ---4---6
    ---5---2
    ---6---5
    ---7---7
    ---8---4
    --------------------
    ---1---8
    ---2---4
    ---3---1
    ---4---3
    ---5---6
    ---6---2
    ---7---7
    ---8---5

    一边喊着救命,一边享受沉沦。
  • 相关阅读:
    ArcEngine中删除地物点(C#)
    Siliverlight常识
    ArcEngine 中打开数据源的连接 AO学习资料笔记
    第一次执行时没有问题,重复执行会出错、GP循环
    理解 ArcObjects 中的游标
    AO 中关于坐标系统的感想 AO学习资料 阅读
    http://www.chinabzw.com/bzlist/7_1.htm
    Delphi 文件操作(4)Reset
    c 语言指针
    Delphi 获取星期几
  • 原文地址:https://www.cnblogs.com/fast-walking/p/8927089.html
Copyright © 2011-2022 走看看