下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第第頁程序員面試例題
解析:遞歸實現(xiàn)n皇后問題。
算法分析:
數(shù)組a、b、c分別用來標記沖突,a數(shù)組代表列沖突,從a[0]~a[7]代表第0列到第7列。假如某列上已經(jīng)有皇后,那么為1,否那么為0。
數(shù)組b代表主對角線沖突,為b[i-j+7],即從b[0]~b[14]。假如某條主對角線上已經(jīng)有皇后,那么為1,否那么為0。
數(shù)組c代表從對角線沖突,為c[i+j],即從c[0]~c[14]。假如某條從對角線上已經(jīng)有皇后,那么為1,否那么為0。
代碼如下:
#include
staticcharQueen[8][8];
staticinta[8];
staticintb[15];
staticintc[15];
staticintiQueenNum=0;//記錄總的棋盤狀態(tài)數(shù)
voidqu(inti);
//參數(shù)i代表行
intmain()
{
intiLine,iColumn;
//棋盤初始化,空格為*,放置皇后的地方為@
for(iLine=0;iLine8;iLine++)
{
a[iLine]=0;//列標記初始化,表示無列沖突
for(iColumn=0;iColumn8;iColumn++)
Queen[iLine][iColumn]=*;
}
//主、從對角線標記初始化,表示沒有沖突
for(iLine=0;iLine15;iLine++)
b[iLine]=c[iLine]=0;
qu(0);
return0;
}
voidqu(inti)
{
intiColumn;
for(iColumn=0;iColumn8;iColumn++)
{
if(a[iColumn]==0b[i-iColumn+7]==0c[i+iColumn]==0)
//假如無沖突
{
Queen[i][iColumn]=@;
//放皇后
a[iColumn]=1;
//標記,下一次該列上不能放皇后
b[i-iColumn+7]=1;
//標記,下一次該主對角線上不能放皇后
c[i+iColumn]=1;
//標記,下一次該從對角線上不能放皇后
if(i7)qu(i+1);
//假如行還沒有遍歷完,進入下一行
else//否那么輸出
{
//輸出棋盤狀態(tài)
intiLine,iColumn;
printf(第%d種狀態(tài)為:,++iQueenNum);
for(iLine=0;iLine8;iLine++)
{
for(iColumn=0;iColumn8;iColumn++)
printf(%c,Queen[iLine][iColumn]);
printf();
}
printf();
}
//假如前次的皇后放置導致后面的放置無論如何都不能滿意要求,那么回溯,重置
Queen[i][iColumn]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度工程招投標及合同管理實操培訓合同3篇
- 二零二五年度數(shù)字貨幣安全存儲與交易服務合同2篇
- 二零二五年度220kv輸變電工程安裝施工與電力設備租賃合同3篇
- 二零二五年度房地產開發(fā)項目合同風險控制合同3篇
- 二零二五年度國企并購擔保合同范本正規(guī)范本3篇
- 化膿性關節(jié)炎講課用
- 二零二五年度大學生實習單位實習津貼發(fā)放協(xié)議2篇
- 二零二五年度建筑工程外架施工安全技術交底與培訓合同范本3篇
- 2025版能源設施施工安全承包協(xié)議范本3篇
- 商業(yè)海報版權使用合同(2篇)
- 手術器械生銹的原因分析
- 小學道德與法治課活動設計方案
- 家電以舊換新風險識別與應對措施
- 春節(jié)英語介紹SpringFestival(課件)新思維小學英語5A
- 卵巢囊腫蒂扭轉的臨床分析
- 退休職工安全知識講座
- 全國兒童預防接種知識講座
- GMP理念在制藥工程項目中的應用
- 電信營業(yè)廳規(guī)章制度范文
- 提高感染性休克集束化治療完成率工作方案
- 突發(fā)事件緊急醫(yī)學救援中的煙花爆竹傷處理培訓
評論
0/150
提交評論