青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

逛奔的蝸牛

我不聰明,但我會(huì)很努力

   ::  :: 新隨筆 ::  ::  :: 管理 ::

#include <iostream>
#include <cstdio>
#include <ctime>
#include <cmath>

using namespace std;

void queen(int** array, int row, FILE* fp);
bool isAvailable(int** array, int y, int x);
bool isResult(int** array);

int main(int arg, char** argv) {
        int** array;
        
        // 分配空間
        array = new int*[8];
        for (int i = 0; i < 8; i++) {
                array[i] = new int[8];
        }
        
        // 初始化皇后狀態(tài)
        for (int i = 0; i < 8; i++) {
                for (int j = 0; j < 8; j++) {
                        array[i][j] = 0;
                }
        }
        
        FILE* fp = fopen("data.txt", "w");
        queen(array, 0, fp);
        fclose(fp);
        
        // 釋放空間
        for (int i = 0; i < 8; i++) {
                delete[] array[i];
        }
        delete array;
        array = NULL;

        return 0;
}

void queen(int** array, int row, FILE* fp) {
        static int size = 1;
        if (row > 7) {
                return;
        }
        for (int j = 0; j < 8; j++) {
                // 如果合法
                if (isAvailable(array, row, j)) {
                        array[row][j] = 1;
                        
                        // 當(dāng)前位置合法,賦值后,進(jìn)入下一行
                        queen(array, row + 1, fp);

                        // 如果退回來后是結(jié)果,則打印出來
                        if (isResult(array)) {
                                // 把結(jié)果寫入文件
                                fputc('\n', fp);
                                fputs("***********************************", fp);
                                fprintf(fp, " %d ", size++);
                                fputs("***********************************", fp);
                                fputc('\n', fp);
                                for (int m = 0; m < 8; m++) {
                                        for (int n = 0; n < 8; n++) {
                                                if (array[m][n] == 1) {
                                                        fputc('#', fp);
                                                        fputc(' ', fp);
                                                        fputc(' ', fp);
                                                } else {
                                                        fputc('O', fp);
                                                        fputc(' ', fp);
                                                        fputc(' ', fp);
                                                }
                                        }
                                        fputc('\n', fp); 
                                }

                        }
                        array[row][j] = 0;

                }
        }
}

bool isAvailable(int** array, int row, int column) { // 第row行,column列
        int i, j;

        // 檢查row行
        for (i = 0; i < 8; i++) {
                if (array[row][i] != 0) {
                        return false;
                }
        }

        // 檢columnx列
        for (j = 0; j < 8; j++) {
                if (array[j][column] != 0) {
                        return false;
                }
        }

        // 檢查對(duì)角向左上
        i = row;
        j = column;
        while (i >= 0 && j >= 0) {
                if (array[i][j] != 0) {
                        return false;
                }
                i--;
                j--;
        }

        // 檢查對(duì)角向右上
        i = row;
        j = column;
        while (i >= 0 && j < 8) {
                if (array[i][j] != 0) {
                        return false;
                }
                i--;
                j++;
        }

        // 檢查對(duì)角向左下
        i = row;
        j = column;
        while (i < 8 && j >= 0) {
                if (array[i][j] != 0) {
                        return false;
                }
                i++;
                j--;
        }

        // 檢查對(duì)角向右下
        i = row;
        j = column;
        while (i < 8 && j < 8) {
                if (array[i][j] != 0) {
                        return false;
                }
                i++;
                j++;
        }

        return true;
}

bool isResult(int** array) {
        int size = 0; // 皇后個(gè)數(shù)

        // 統(tǒng)計(jì)皇后個(gè)數(shù)
        for (int i = 0; i < 8; i++) {
                for (int j = 0; j < 8; j++) {
                        if (array[i][j] != 0) {
                                size++;
                        }
                }
        }

        // 沒有8?jìng)€(gè)皇后,說明不是結(jié)果

       // 有8個(gè)皇后,因?yàn)槊總€(gè)皇后的放置都是在合法位置, 所以只需要簡單的計(jì)算皇后個(gè)數(shù)就知道是不是結(jié)果.
        if (size != 8) {
                return false;
        }

        return true;
}

posted on 2010-12-17 17:51 逛奔的蝸牛 閱讀(417) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成人精品在线| 亚洲一区视频在线观看视频| 久久综合国产精品| 久久综合伊人77777麻豆| 久久精品国产一区二区三| 欧美一级黄色录像| 久久久久国产精品厨房| 久久色中文字幕| 欧美成人中文| 国产精品久久久久影院色老大| 欧美系列电影免费观看| 国产欧美一区二区三区久久人妖| 国内久久视频| 日韩一级免费| 久久精品国产一区二区三区免费看 | 久久久不卡网国产精品一区| 久久久五月婷婷| 亚洲电影中文字幕| 亚洲精品欧美| 性欧美大战久久久久久久久| 麻豆91精品| 国产精品午夜在线| 亚洲精品少妇30p| 久久国产精品一区二区三区| 亚洲第一黄色网| 午夜视频精品| 欧美精品日韩三级| 一区二区三区在线免费观看| 免费毛片一区二区三区久久久| 亚洲欧美精品| 免费一区视频| 亚洲午夜精品网| 免费一区二区三区| 韩国av一区二区三区| 亚洲综合日韩中文字幕v在线| 欧美成人网在线| 香蕉成人久久| 国产精品乱码一区二区三区 | 国产一区二区三区四区老人| 亚洲乱码精品一二三四区日韩在线| 亚洲欧美卡通另类91av| 亚洲三级毛片| 免费在线成人| 一区二区在线视频播放| 欧美在线观看天堂一区二区三区| 日韩视频在线一区二区| 欧美黑人在线观看| 亚洲国产日韩欧美在线99| 久久精品亚洲一区二区| 亚洲天堂第二页| 欧美精品日韩| 亚洲久久视频| 亚洲国产精品欧美一二99| 久久这里有精品15一区二区三区 | 亚洲午夜一区二区| 亚洲日本在线视频观看| 久久这里只有| 国内精品久久久久影院薰衣草| 欧美在线观看一区二区| 亚洲综合清纯丝袜自拍| 国产精品色网| 欧美一区影院| 性娇小13――14欧美| 国产亚洲永久域名| 久久久久久噜噜噜久久久精品 | 久久久精品视频成人| 亚洲婷婷综合色高清在线| 欧美色另类天堂2015| 日韩亚洲欧美一区| 亚洲国产精品一区二区www| 欧美电影在线免费观看网站| 亚洲伦伦在线| 在线视频精品| 国产精品久久久久久久久久直播 | 亚洲精品国产系列| 亚洲欧洲日本一区二区三区| 欧美日韩国产成人在线免费| 亚洲一区二区3| 午夜精品福利电影| 亚洲淫片在线视频| 欧美一区午夜精品| 亚洲高清久久| 免费亚洲电影| 亚洲国产日韩美| 亚洲国产精品www| 欧美成人午夜激情| 欧美成人一区二区三区在线观看| 欧美色偷偷大香| 亚洲视屏在线播放| 亚欧美中日韩视频| 激情综合五月天| 欧美高清视频在线| 在线亚洲+欧美+日本专区| 香蕉尹人综合在线观看| 国产一区二区三区四区老人| 欧美在线亚洲综合一区| 美日韩精品视频| 亚洲少妇在线| 在线日本高清免费不卡| 欧美精品在线观看一区二区| 夜夜狂射影院欧美极品| 欧美专区在线| 亚洲精选大片| 国产综合网站| 欧美高清在线精品一区| 亚洲小说欧美另类婷婷| 美女黄色成人网| 午夜免费电影一区在线观看| 亚洲人成在线影院| 国产日韩欧美不卡在线| 欧美理论电影在线观看| 久久综合九色欧美综合狠狠| 亚洲一区在线看| 亚洲精品视频免费观看| 欧美国产日韩a欧美在线观看| 玖玖精品视频| 亚洲午夜在线观看| 亚洲国语精品自产拍在线观看| 久久精品亚洲精品国产欧美kt∨| 亚洲午夜精品福利| 亚洲视频欧洲视频| 一本色道久久综合亚洲二区三区| 亚洲第一久久影院| 亚洲国产精品一区制服丝袜| 国产一区二区三区av电影 | 国产精品视频大全| 欧美黄在线观看| 欧美精品久久久久久久久久| 欧美成人一品| 国产精品毛片一区二区三区 | 久久疯狂做爰流白浆xx| 久久久天天操| 亚洲高清在线| 一本久久综合亚洲鲁鲁| 亚洲在线视频观看| 久久久精品国产免费观看同学| 欧美jizzhd精品欧美巨大免费| 欧美欧美天天天天操| 国产精品一区2区| 亚洲高清久久久| 久久频这里精品99香蕉| 亚洲精品小视频| 久久在精品线影院精品国产| 欧美人牲a欧美精品| 国产在线不卡| 亚洲专区欧美专区| 亚洲国产小视频| 久久免费视频在线观看| 国产日韩成人精品| 午夜日韩电影| 亚洲男人影院| 欧美丝袜一区二区| 日韩亚洲一区在线播放| 国产精品高潮久久| 在线一区观看| 亚洲人成人一区二区三区| 久久精品免费电影| 激情丁香综合| 久久久视频精品| 欧美一区二区三区在线观看视频 | 亚洲国产一区二区a毛片| 亚洲淫性视频| 国产精品视频久久| 亚洲免费在线视频一区 二区| 日韩一级黄色av| 国产精品视频yy9299一区| 午夜精品久久久久久久99热浪潮| 99精品久久免费看蜜臀剧情介绍| 欧美freesex8一10精品| 亚洲精品一区二区三区在线观看| 欧美大秀在线观看| 欧美日韩一级黄| 久久黄色网页| 欧美色图首页| 欧美a级在线| 国产精品久久久久久久浪潮网站 | 国产精品女同互慰在线看| 久久精品国产综合| 久久久国产精品一区二区中文 | 国产精品久久久久久模特| 久久精品99国产精品| 欧美极品在线观看| 久久躁狠狠躁夜夜爽| 欧美日韩理论| 快she精品国产999| 国产精品一二一区| 亚洲欧洲日韩在线| 影音先锋久久资源网| 午夜精品久久久久| 亚洲一区二区三区欧美| 裸体女人亚洲精品一区| 欧美午夜不卡视频| 亚洲电影免费观看高清完整版在线观看| 欧美日本韩国| 亚洲精品国产精品国自产观看| 黄色成人在线网址| 久久精品一二三| 另类成人小视频在线| 国产视频久久久久| 欧美一区二区三区在|