中文一二三区_九九在线中文字幕无码_国产一二区av_38激情网_欧美一区=区三区_亚洲高清免费观看在线视频

首頁 > 個人簡歷 > 簡歷資料 > 面試試題 > 程序員遞歸面試問題及解析

程序員遞歸面試問題及解析

發布時間:2019-04-29

程序員遞歸面試問題及解析

面試例題 2:八皇后問題是一個古老而著名的問題,是回溯算法的典型例題。該問題是 19 世紀著名的數學家高斯 1850 年提出:在 88 格的國際象棋盤上擺放 8 個皇后,使其不能互相攻擊,即任意兩個皇后都不能處于同一行、同一列或同一斜線上,問有多少種擺法。[英國某著名計算機圖形圖像公司面試題]
解析:遞歸實現 n 皇后問題。
算法分析:
數組 a、b、c 分別用來標記沖突,a 數組代表列沖突,從 a[0]~a[7]代表第 0 列到第 7 列。如果某列上已經有皇后,則為 1,否則為 0。
數組 b 代表主對角線沖突,為 b[i-j+7],即從 b[0]~b[14]。如果某條主對角線上已經有皇后,則為 1,否則為 0。
數組 c 代表從對角線沖突,為 c[i+j],即從 c[0]~c[14]。如果某條從對角線上已經有皇后,則為 1,否則為 0。
代碼如下:
#include <stdio.h>
static char queen[8][8];
static int a[8];
static int b[15];
static int c[15];
static int iqueennum=0; //記錄總的棋盤狀態數
void qu(int i);
//參數i 代表行
int main()
{
int iline,icolumn;
//棋盤初始化,空格為*,放置皇后的地方為@
for(iline=0;iline<8;iline++)
{
a[iline]=0; //列標記初始化,表示無列沖突
for(icolumn=0;icolumn<8;icolumn++)
queen[iline][icolumn]='*';
}
//主、從對角線標記初始化,表示沒有沖突
for(iline=0;iline<15;iline++)
b[iline]=c[iline]=0;
qu(0);
return 0;
}
void qu(int i)
{
int icolumn;
for(icolumn=0;icolumn<8;icolumn++)
{
if(a[icolumn]==0&&b[i-icolumn+7]==0&&c[i+icolumn]==0)
//如果無沖突
{
queen[i][icolumn]='@';
//放皇后
a[icolumn]=1;
//標記,下一次該列上不能放皇后
b[i-icolumn+7]=1;
//標記,下一次該主對角線上不能放皇后
c[i+icolumn]=1;
//標記,下一次該從對角線上不能放皇后
if(i<7) qu(i+1);
//如果行還沒有遍歷完,進入下一行
else //否則輸出
{
//輸出棋盤狀態
int iline,icolumn;
printf("第%d 種狀態為:\n",++iqueennum);
for(iline=0;iline<8;iline++)
{
for(icolumn=0;icolumn<8;icolumn++)
printf("%c ",queen[iline][icolumn]);
printf("\n");
}
printf("\n\n");
}
//如果前次的皇后放置導致后面的放置無論如何都不能滿足要求,則回溯,重置
queen[i][icolumn]='*';
a[icolumn]=0;
b[i-icolumn+7]=0;
c[i+icolumn]=0;
}
}
}
主站蜘蛛池模板: 波多野结AV衣东京热无码专区 | 少妇激情AV一区二区三区 | 一区二区三区精品视频免费播放 | 91刘玥在线观看未删减 | 国产成人无码一区AV在线观看 | 精品无人区卡一卡二卡三 | 国产精品一区二区免费不卡 | 熟妇人妻AV中文字幕老熟妇 | 野花社区www高清图片 | 无码潮喷a片无码高潮 | 丰满日韩放荡少妇无码视频 | 国产精品成人竹菊影视亚洲性爱在线 | 美女光胸无遮挡18禁止观看 | 一级一级97片看一级毛片 | 色小姐综合网 | 国内精品女同女同一区二区三区 | 亚洲最大天堂无码精品区 | 91九色视频在线观看 | 丁香五月天一二三四在线视频 | 成人午夜精品无码一区二区三区 | 国产午精品午夜福利757视频播放 | 人妻aⅴ无码一区二区三区 最新亚洲精品 | 91精品久久久久久久 | 黄色国产免费观看 | 国产午夜免费福利 | 国产精品99久久久久宅男软件功能 | 亚洲一区二区三区免费在线观看 | 日韩天堂在线 | 国产66页 | 亚洲大片精品永久免费 | 婷婷去俺也去 | 亚洲AV国产AV一区无码 | 日韩成人在线一区二区三区 | 国产精品视频一区二区免费不卡 | 狠狠干夜夜操天天爽 | 国产一区二区日韩精品 | 国产一区欧美二区 | 丰满少妇AV无码区 | 国产性色视频 | 欧洲亚洲国产图片综合 | 玩弄白嫩少妇XXXXX性 |