国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

N皇后問題

2019-11-08 18:47:41
字體:
供稿:網(wǎng)友
/*  問題描述:輸入一個正整數(shù)N,則程序輸出N皇后問題的全部擺法。            輸出結(jié)果里的每一行都代表一種擺法。行里的第i個數(shù)字            如果是n,就代表第i行的皇后應(yīng)該放在第n列。皇后的行、列編號都是從1            開始計算 */#include <iostream>#include <cmath>using namespace std;int N;int queenPos[100];//用來存放算好的皇后位置,最左上角是(0,0);void  NQueen(int k)//求解函數(shù){//在0~k-1行已經(jīng)擺好的情況下,擺第k行及其以后的皇后    int i;    if( k==N)    {//N個皇后已經(jīng)擺好        for( i=0 ;i<N;i++)            cout<< queenPos[i] + 1<< " ";        cout <<endl;        return ;    }    for(i=0 ; i<N ; i++)    {//逐個嘗試第k個皇后的位置        int j;        for(j = 0 ;j< k; j++)        {//和已經(jīng)擺好的k個皇后比較,看是否沖突            if(queenPos[j] == i||abs(queenPos[j] - i) == abs(k-j))            {//發(fā)生沖突,測試下一個位置                break;            }        }        if(j == k)        {//當(dāng)前位置i和擺好的皇后不沖突            queenPos[k] = i;//將第k行的皇后擺在第i列并記錄下來            NQueen(k+1);//遞歸,繼續(xù)擺放第k+1行        }    }}int main(){    cin>>N;    NQueen(0);//從第零航開始擺皇后    return 0;}

運行結(jié)果:


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 湖口县| 定陶县| 万州区| 双牌县| 布尔津县| 大足县| 九江市| 丹江口市| 简阳市| 科技| 定襄县| 白山市| 郸城县| 龙井市| 岐山县| 米易县| 苍南县| 翼城县| 临武县| 治县。| 巴林左旗| 寻甸| 方正县| 娱乐| 新安县| 五河县| 伊金霍洛旗| 罗田县| 龙胜| 墨玉县| 涿鹿县| 象山县| 宁晋县| 民勤县| 青川县| 和顺县| 鄱阳县| 汕尾市| 固阳县| 右玉县| 玉龙|