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

    一边喊着救命,一边享受沉沦。
  • 相关阅读:
    Datasnap http用户验证
    Delphi 接口机制真相
    tfmxobject的序列化
    delphi md5算法
    delphi xe 窗体子控件实现窗体拖动
    Delphi笔记-自定义组件
    DELPHI RES资源文件使用方法
    Delphi中WebBrowser的使用技巧汇总
    Delphi XE调用第三方库Jni详细过程
    使用VLC进行屏幕广播
  • 原文地址:https://www.cnblogs.com/fast-walking/p/8927089.html
Copyright © 2011-2022 走看看