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

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

八皇后問題

2019-11-11 04:19:02
字體:
來源:轉載
供稿:網友

#include <stdio.h>#include <stdlib.h>#define max 8int queen[max], sum=0; /* max為棋盤最大坐標 */void show(){ /* 輸出所有皇后的坐標 */    for(int i = 0; i < max; i++){        PRintf("(%d,%d) ", i, queen[i]);    }    printf("/n");    sum++;}int check(int n){ /* 檢查當前列能否放置皇后 */    for(int i = 0; i < n; i++){ /* 檢查橫排和對角線上是否可以放置皇后 */        if(queen[i] == queen[n] || abs(queen[i] - queen[n]) == (n - i)){            return 1;        }    }    return 0;}void put(int n){ /* 回溯嘗試皇后位置,n為橫坐標 */    for(int i = 0; i < max; i++){        queen[n] = i; /* 將皇后擺到當前循環到的位置 */        if(!check(n)){            if(n == max - 1){                show(); /* 如果全部擺好,則輸出所有皇后的坐標 */            } else {                put(n + 1); /* 否則繼續擺放下一個皇后 */            }        }    }}int main(){    put(0); /* 從橫坐標為0開始依次嘗試 */    printf("%d", sum);    return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广州市| 水城县| 蒙城县| 黄骅市| 公安县| 健康| 茌平县| 沽源县| 宜黄县| 镇安县| 海兴县| 阿拉尔市| 郯城县| 祁门县| 孝感市| 沙河市| 五常市| 梁河县| 宜昌市| 盘山县| 泾阳县| 林州市| 武定县| 永顺县| 灵丘县| 当涂县| 遵义市| 日土县| 芒康县| 天气| 永和县| 获嘉县| 桐乡市| 溧水县| 泰安市| 兰西县| 阳西县| 读书| 周至县| 思南县| 韩城市|