日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构:回溯--解决八皇后问题

發布時間:2025/6/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构:回溯--解决八皇后问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

public class Queue8 {int max = 8;int count = 1;// 定義數組,保存皇后放置位置的結果,比如arr = {0,4,7,5,2,6,1,3}int[] arr = new int[max];public static void main(String[] args) {Queue8 queue8 = new Queue8();for(int i=0; i<queue8.max; i++) {queue8.arr[0] = i;queue8.check(1);}}private void check(int n){if(n == max){print();count++;return;}// 依次放入皇后,并判斷是否沖突for(int i=0; i<max; i++){arr[n] = i;if(judge(n)){ // 不沖突check(n+1);}}}// 當我們放置第n個皇后,就去檢測該皇后是否和前面已經擺放的皇后沖突private boolean judge(int n){for (int i = 0; i < n; i++) {// arr[i] == arr[n]表示在同一列, Math.abs(n-i) == Math.abs(arr[n]-arr[i]))表示同一斜線if(arr[i] == arr[n] || (Math.abs(n-i) == Math.abs(arr[n]-arr[i]))){return false;}}return true;}private void print(){System.out.printf("count="+count +" ");for (int i = 0; i < 8; i++) {//System.out.print("count="+count + " "+arr[i] + " ");System.out.print(arr[i] + " ");}System.out.println();} }

?

總結

以上是生活随笔為你收集整理的数据结构:回溯--解决八皇后问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。