亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

利用C語言解決八皇后問題以及解析

2020-05-23 13:25:06
字體:
來源:轉載
供稿:網友

前言

八皇后問題是一個古老而著名的問題。該問題是19世紀著名的數學家高斯1850年提出:在一個8*8國際象棋盤上,有8個皇后,每個皇后占一格;要求皇后之間不會出現相互“攻擊”的現象,即不能有兩個皇后處在同一行、同一列或同一對角線上。問共有多少種不同的方法?

回溯算法也叫試探法,它是一種搜索問題的解的方法。冋溯算法的基本思想是在一個包含所有解的解空間樹中,按照深度優先的策略,從根結點出發搜索解空間樹。算法搜索至解空間樹的任意結點時,總是先判斷該結點是否肯定不包含問題的解。如果肯定不包含,則跳過對以該結點為根的子樹的系統搜索,逐層向其祖先結點回溯。否則,進入該子樹,繼續按深度優先的策略進行搜索?;厮莘ㄔ谟脕砬髥栴}的所有解時,要回溯到根,且根結點的所有子樹都已被搜索遍才結束。

八皇后問題有很多中解法,其中使用回溯法進行求解是其中一種。而回溯發也是最直接的一種解法,也較容易理解。

八皇后問題的回溯法算法,可以采用一維數組來進行處理。數組的下標i表示棋盤上的第i列,a[i]的值表示皇后在第i列所放的位置。例如,a[1]=5,表示在棋盤的第例的第五行放一個皇后。程序中首先假定a[1]=1,表示第一個皇后放在棋盤的第一列的第一行的位置上,然后試探第二列中皇后可能的位置,找到合適的位置后,再處理后續的各列,這樣通過各列的反復試探,可以最終找出皇后的全部擺放方法。

八皇后問題可以使用回溯法進行求解,程序實現如下:

#include<stdio.h>#define Queens 8 //定義結果數組的大小,也就是皇后的數目int a[Queens+1];  //八皇后問題的皇后所在的行列位置,從1幵始算起,所以加1int main(){int i, k, flag, not_finish=1, count=0;//正在處理的元素下標,表示前i-1個元素已符合要求,正在處理第i個元素i=1;a[1]=1; //為數組的第一個元素賦初值printf("八皇后的可能配置是:/n");while(not_finish){ //not_finish=l:處理尚未結束while(not_finish && i<=Queens){ //處理尚未結束且還沒處理到第Queens個元素for(flag=1,k=1; flag && k<i; k++) //判斷是否有多個皇后在同一行if(a[k]==a[i])flag=0;for (k=1; flag&&k<i; k++) //判斷是否有多個皇后在同一對角線if( (a[i]==a[k]-(k-i)) || (a[i]==a[k]+(k-i)) )flag=0;if(!flag){ //若存在矛盾不滿足要求,需要重新設置第i個元素if(a[i]==a[i-1]){ //若a[i]的值已經經過一圈追上a[i-1]的值i--; //退回一步,重新試探處理前一個元素if(i>1 && a[i]==Queens)a[i]=1; //當a[i]為Queens時將a[i]的值置1elseif(i==1 && a[i]==Queens)not_finish=0; //當第一位的值達到Queens時結束elsea[i]++; //將a[il的值取下一個值}else if(a[i] == Queens)a[i]=1;elsea[i]++; //將a[i]的值取下一個值}else if(++i<=Queens)if(a[i-1] == Queens )a[i]=1; //若前一個元素的值為Queens則a[i]=lelsea[i] = a[i-1]+1; //否則元素的值為前一個元素的下一個值}if(not_finish){++count;printf((count-1)%3 ? "/t[%2d]:" : "/n[%2d]:", count);for(k=1; k<=Queens; k++) //輸出結果printf(" %d", a[k]); if(a[Queens-1]<Queens )a[Queens-1]++; //修改倒數第二位的值elsea[Queens-1]=1;i=Queens -1;  //開始尋找下一個滿足條件的解}}}

輸出結果:

八皇后的可能配置是:

[ 1]: 1 5 8 6 3 7 2 4 [ 2]: 1 6 8 3 7 4 2 5 [ 3]: 1 7 4 6 8 2 5 3

[ 4]: 1 7 5 8 2 4 6 3 [ 5]: 2 4 6 8 3 1 7 5 [ 6]: 2 5 7 1 3 8 6 4

[ 7]: 2 5 7 4 1 8 6 3 [ 8]: 2 6 8 3 1 4 7 5 [ 9]: 2 6 1 7 4 8 3 5

[10]: 2 7 3 6 8 5 1 4 [11]: 2 7 5 8 1 4 6 3 [12]: 2 8 6 1 3 5 7 4

[13]: 3 5 7 1 4 2 8 6 [14]: 3 5 8 4 1 7 2 6 [15]: 3 5 2 8 1 7 4 6

[16]: 3 5 2 8 6 4 7 1 [17]: 3 6 8 1 4 7 5 2 [18]: 3 6 8 1 5 7 2 4

[19]: 3 6 8 2 4 1 7 5 [20]: 3 6 2 5 8 1 7 4 [21]: 3 6 2 7 1 4 8 5

[22]: 3 6 2 7 5 1 8 4 [23]: 3 6 4 1 8 5 7 2 [24]: 3 6 4 2 8 5 7 1

[25]: 3 7 2 8 5 1 4 6 [26]: 3 7 2 8 6 4 1 5 [27]: 3 8 4 7 1 6 2 5

[28]: 3 1 7 5 8 2 4 6 [29]: 4 6 8 2 7 1 3 5 [30]: 4 6 8 3 1 7 5 2

[31]: 4 6 1 5 2 8 3 7 [32]: 4 7 1 8 5 2 6 3 [33]: 4 7 3 8 2 5 1 6

[34]: 4 7 5 2 6 1 3 8 [35]: 4 7 5 3 1 6 8 2 [36]: 4 8 1 3 6 2 7 5

[37]: 4 8 1 5 7 2 6 3 [38]: 4 8 5 3 1 7 2 6 [39]: 4 1 5 8 2 7 3 6

[40]: 4 1 5 8 6 3 7 2 [41]: 4 2 5 8 6 1 3 7 [42]: 4 2 7 3 6 8 1 5

[43]: 4 2 7 3 6 8 5 1 [44]: 4 2 7 5 1 8 6 3 [45]: 4 2 8 5 7 1 3 6

[46]: 4 2 8 6 1 3 5 7 [47]: 5 7 1 3 8 6 4 2 [48]: 5 7 1 4 2 8 6 3

[49]: 5 7 2 4 8 1 3 6 [50]: 5 7 2 6 3 1 4 8 [51]: 5 7 2 6 3 1 8 4

[52]: 5 7 4 1 3 8 6 2 [53]: 5 8 4 1 3 6 2 7 [54]: 5 8 4 1 7 2 6 3

[55]: 5 1 4 6 8 2 7 3 [56]: 5 1 8 4 2 7 3 6 [57]: 5 1 8 6 3 7 2 4

[58]: 5 2 4 6 8 3 1 7 [59]: 5 2 4 7 3 8 6 1 [60]: 5 2 6 1 7 4 8 3

[61]: 5 2 8 1 4 7 3 6 [62]: 5 3 8 4 7 1 6 2 [63]: 5 3 1 6 8 2 4 7

[64]: 5 3 1 7 2 8 6 4 [65]: 6 8 2 4 1 7 5 3 [66]: 6 1 5 2 8 3 7 4

[67]: 6 2 7 1 3 5 8 4 [68]: 6 2 7 1 4 8 5 3 [69]: 6 3 5 7 1 4 2 8

[70]: 6 3 5 8 1 4 2 7 [71]: 6 3 7 2 4 8 1 5 [72]: 6 3 7 2 8 5 1 4

[73]: 6 3 7 4 1 8 2 5 [74]: 6 3 1 7 5 8 2 4 [75]: 6 3 1 8 4 2 7 5

[76]: 6 3 1 8 5 2 4 7 [77]: 6 4 7 1 3 5 2 8 [78]: 6 4 7 1 8 2 5 3

[79]: 6 4 1 5 8 2 7 3 [80]: 6 4 2 8 5 7 1 3 [81]: 7 1 3 8 6 4 2 5

[82]: 7 2 4 1 8 5 3 6 [83]: 7 2 6 3 1 4 8 5 [84]: 7 3 8 2 5 1 6 4

[85]: 7 3 1 6 8 5 2 4 [86]: 7 4 2 5 8 1 3 6 [87]: 7 4 2 8 6 1 3 5

[88]: 7 5 3 1 6 8 2 4 [89]: 8 2 4 1 7 5 3 6 [90]: 8 2 5 3 1 7 4 6

C語言,八皇后

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人免费av电影| 欧美日韩午夜视频在线观看| 亚洲女同精品视频| 日韩免费av片在线观看| 久久激情视频久久| 欧美日韩在线免费观看| 97国产成人精品视频| 超碰97人人做人人爱少妇| 欧美成人在线免费视频| 久久久成人精品视频| 韩国国内大量揄拍精品视频| 亚洲美女自拍视频| 8090理伦午夜在线电影| 国产欧美久久一区二区| 亚洲第一国产精品| 欧美日韩不卡合集视频| 久久久久久久网站| 久久精品国产久精国产思思| 中文字幕亚洲综合久久| 国产欧美精品日韩| 久久久综合免费视频| 国产精品视频xxx| 97久久超碰福利国产精品…| 青青在线视频一区二区三区| 欧美日韩福利视频| 国产成人精品电影久久久| 精品久久久久久久久久久| 亚洲区在线播放| 国产精品久久久久av| 亚洲激情久久久| 亚洲深夜福利网站| 国产精品爽黄69| 国产精品视频播放| 久久久免费高清电视剧观看| 成人精品久久av网站| 欧美激情免费看| 欧美日韩国产中文精品字幕自在自线| 92国产精品视频| 黑人精品xxx一区一二区| 色999日韩欧美国产| 亚洲久久久久久久久久| 91精品国产网站| 欧美视频中文字幕在线| 久久精品中文字幕| 欧美精品午夜视频| 久久久久久这里只有精品| 欧美一级免费看| 精品一区二区电影| 亚洲欧美综合v| 亚洲男人天堂久| 国产精品色悠悠| 欧美激情啊啊啊| 亚洲第一天堂无码专区| 久久夜色精品亚洲噜噜国产mv| 欧美日韩亚洲激情| 亚洲国产另类 国产精品国产免费| 国产成人久久精品| 国产成人精彩在线视频九色| 久久99精品久久久久久琪琪| 国产亚洲福利一区| 国产一区二区三区在线看| 国产日韩欧美成人| 欧美在线影院在线视频| 国产精品99久久久久久久久久久久| 亚洲大胆美女视频| 亚洲奶大毛多的老太婆| 亚洲国产高清自拍| 美女视频久久黄| 久久中文字幕一区| 色悠悠国产精品| 亚洲欧美精品一区二区| 麻豆乱码国产一区二区三区| 98视频在线噜噜噜国产| 成人在线中文字幕| 欧美一级视频免费在线观看| 欧美激情视频一区二区三区不卡| 日韩成人在线视频| 亚洲第一区第一页| 国产一区二区日韩精品欧美精品| 亚洲国产美女久久久久| 久久中文久久字幕| 在线电影欧美日韩一区二区私密| 亚洲人成电影在线播放| 中文字幕最新精品| 欧美视频13p| 亚洲精品久久久久中文字幕欢迎你| 日韩av网站在线| 国产精品一二区| 国产一区二区三区网站| 国产97在线播放| 久99久在线视频| 国产欧美一区二区三区久久| 91超碰caoporn97人人| 久久韩国免费视频| 日韩中文字幕第一页| 菠萝蜜影院一区二区免费| 国产欧美久久一区二区| 亚洲一区二区自拍| 欧美亚洲第一页| 91美女福利视频高清| 国产亚洲精品va在线观看| 久久精品欧美视频| 88国产精品欧美一区二区三区| 亚洲成人999| 国产精品影院在线观看| 91精品国产99| 成人精品视频久久久久| 久久精品国产久精国产思思| 国产成人久久久精品一区| 亚洲qvod图片区电影| 国产精品入口福利| 欧美夫妻性生活xx| 91禁国产网站| 亚洲丝袜av一区| 日韩中文有码在线视频| 亚洲国产精品久久久久| 九九综合九九综合| 亚洲第一天堂无码专区| 日韩精品一二三四区| 欧美日韩成人在线观看| 欧美一二三视频| 欧美日韩一区二区在线| 成人欧美一区二区三区在线湿哒哒| 国产精品入口日韩视频大尺度| 亚洲精品www久久久| 成人国产在线视频| 国产精品久久久久久av福利软件| 久久久久久亚洲精品不卡| 欧美性猛交xxxx免费看| 欧洲亚洲女同hd| 91av在线播放| 国产精品69久久| 欧美黄色片视频| 精品中文字幕在线| 福利视频第一区| 青青久久av北条麻妃黑人| 亚洲精品小视频| 亚洲国产日韩欧美在线99| 久久在线免费观看视频| 成人av在线天堂| 久久精品99久久久香蕉| 亚洲乱亚洲乱妇无码| 久久99久国产精品黄毛片入口| 美女少妇精品视频| 人人澡人人澡人人看欧美| 亚洲国产一区二区三区四区| 国产精品美乳一区二区免费| 尤物yw午夜国产精品视频| 69视频在线免费观看| 97精品国产91久久久久久| 色偷偷888欧美精品久久久| 久久99精品久久久久久琪琪| 97在线看免费观看视频在线观看| 亚洲mm色国产网站| 在线观看日韩www视频免费| 欧美成aaa人片在线观看蜜臀| 国产精品一区二区久久久久| 日韩欧美高清在线视频| 欧美风情在线观看| 成人欧美一区二区三区在线湿哒哒| 色爱av美腿丝袜综合粉嫩av| 日韩a**站在线观看| 一本一本久久a久久精品综合小说| 日韩电影免费观看在线观看|