八皇后——窮舉法

八皇后——窮舉法

ID:33627395

大小:63.24 KB

頁數(shù):4頁

時間:2019-02-27

八皇后——窮舉法_第1頁
八皇后——窮舉法_第2頁
八皇后——窮舉法_第3頁
八皇后——窮舉法_第4頁
資源描述:

《八皇后——窮舉法》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、利用窮舉解法來解決八皇后問題。????由于棋盤的對稱性,第一行只考慮前四列的情況,然后逐行查找可行點(diǎn),計算出結(jié)果后,總的解法數(shù)即是計算結(jié)果的兩倍,而后四列的情況也即是前四列結(jié)果關(guān)于垂直線的對稱。源程序如下:1.public?class?EightQueens?{2.????int?answer=0;???????//結(jié)果數(shù)3.????int?chess[][]=new?int[8][8];//棋盤4.????EightQueens()?{5.????????int?i=0,j=0,k=0;6.????????//取半個棋盤計算結(jié)

2、果,最后結(jié)果*27.????????for(k=0;k<4;k++)?{8.????????????//棋盤初始化為09.????????????for(i=0;i<8;i++)?{10.????????????????for(j=0;j<8;j++)11.????????????????????chess[i][j]=0;12.????????????}13.????????????//第一行14.????????????chess[0][k]=1;15.????????????row(1);16.????????}17.??

3、??????System.out.println("八皇后問題共有"+answer+"種解法");18.????}19.????public?void?row(int?I)?{20.????????int?i=0,j=0;21.????????for(j=0;j<8;j++)?{22.????????????//重新初始化行23.????????????for(i=I;i<8;i++)?{24.????????????????if(sum(i)>0)?{25.????????????????????for(int?k=0;k<8

4、;k++)?{26.????????????????????????chess[i][k]=0;27.????????????????????}28.????????????????}29.????????????}1.????????????if(sum1(j)==0&&sum2(I,j)==0)?{2.????????????????chess[I][j]=1;3.????????????????if(I==7)?{4.????????????????????answer+=2;5.????????????????????/

5、/輸出結(jié)果,棋盤以數(shù)組形式表示6.????????????????????/*for(int?a=0;a<8;a++)?{7.????????????????????????for(int?b=0;b<8;b++)?{8.????????????????????????????System.out.println("解法"+answer+":");9.????????????????????????????System.out.print(chess[a][b]+"?");10.????????????????????????}

6、11.????????????????????????System.out.println();12.????????????????????}13.????????????????????System.out.println();14.??????????????????*/15.?????????????????/*for(int?a=0;a<8;a++)?{16.????????????????????for(int?b=0;b<8;b++)?{17.????????????????????????System.out.p

7、rintln("解法"+(answer+1)+":");18.????????????????????????System.out.print(chess[a][7-b]+"?");19.????????????????????}20.????????????????????System.out.println();21.????????????????}22.????????????????System.out.println();23.????????????????*/24.????????????????}25.????

8、????????????else?row(I+1);26.????????????}27.????????}28.????}29.????//計算行值30.????public?int?sum(int?i)?{31.????????int?j=0,s=0;32.

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。