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

首頁 > 學院 > 開發設計 > 正文

n皇后問題

2019-11-08 02:23:43
字體:
來源:轉載
供稿:網友
八皇后位置,利用回溯法解決

直接利用回溯法:

#include <stdio.h>int n, tot = 0;int C[1000] = {0};void search(int cur){    if(cur == n){               //邊界        tot++;    } else {        for(int i = 0; i < n; i++){            int ok = 1;            C[cur] = i;              //嘗試把第cur行的皇后放在第i位            for(int j = 0; j < cur; j++){   //檢驗是否有沖突                if(C[cur] == C[j] || cur - C[cur] == j - C[j] || cur + C[cur] == j + C[j]){                    ok = 0;                    break;                }            }            if(ok) search(cur + 1);   //放在這個位置可以        }    }}int main(){    scanf("%d", &n);    search(0);    PRintf("%d/n", tot);    return 0;}

將每一種結果輸出:

 #include <stdio.h>int n, tot = 0;int C[1000];void show(int cur){    if(cur == n){        tot++;        for(int i = 0; i < n; i++){            for(int j = 0; j < n; j++){                if(j == C[i]){                    printf("h ");                } else {                    printf("+ ");                }            }            printf("/n");        }        printf("/n/n");    } else {        for(int i = 0; i < n; i++){            int ok = 1;            C[cur] = i;            for(int j = 0; j < cur; j++){                if(C[cur] == C[j] || cur - C[cur] == j - C[j] || cur + C[cur] == j + C[j]){                    ok = 0;                    break;                }            }            if(ok) show(cur + 1);        }    }}int main(){    scanf("%d", &n);    show(0);    printf("%d", tot);    return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 化德县| 嘉黎县| 忻州市| 敦煌市| 英超| 常熟市| 固安县| 武平县| 哈尔滨市| 桂平市| 盐城市| 察隅县| 海晏县| 桦甸市| 丹江口市| 晴隆县| 靖西县| 江油市| 象山县| 绥化市| 尼勒克县| 乌海市| 舟山市| 大英县| 梓潼县| 濮阳县| 同心县| 怀仁县| 北安市| 霸州市| 甘南县| 云和县| 商南县| 大田县| 克拉玛依市| 昆明市| 大港区| 曲周县| 大余县| 那坡县| 龙岩市|