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

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

C#遞歸求解八皇后

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

C#遞歸求解八皇后,廢話不說了,直接看代碼吧。

view plaincopy to clipboardPRint?
using System;  
using System.Collections.Generic;  
using System.Text;  
 
namespace Queen  
{  
    /* 
     * 八皇后問題 
     * @Author: Red_angelX 
     */ 
    class Program  
    {  
        const int NCOUNT = 8;  
 
        static int[] QueenMap = new int[NCOUNT];  
 
        static int iCount = 1;  
 
        static void Main(string[] args)  
        {  
            int current = System.Environment.TickCount;  
 
            PlayQueen(0);  
 
            Console.WriteLine("Eclped {0} ms", Environment.TickCount - current);  
            Console.Read();  
        }  
 
        /* 
         * 核心函數,放置第N枚皇后(遞歸) 
         */ 
        static void PlayQueen(int n)  
        {  
            if (n == NCOUNT)  
            {  
                PrintResult();  
                return;  
            }  
 
            for (int i = 1; i <= NCOUNT; i++)  
            {  
                QueenMap[n] = i;  
                if (IsValid(n))  
                    PlayQueen(n + 1);  
            }  
 
        }  
 
        /* 
         * 輸出結果 
         */ 
        static void PrintResult()  
        {  
            Console.Write("No.{0} ", iCount++);  
 
            for (int i = 0; i < NCOUNT; i++)  
                Console.Write("{0} ", QueenMap[i]);  
            Console.Write(" ");  
        }  
 
        /* 
         * 檢查第n個皇后放上去之后是否合法 
         */ 
        static bool IsValid(int n)  
        {  
            for (int i = 0; i < n; i++)  
            {  
                if (QueenMap[i] == QueenMap[n])  
                    return false;  
 
                if (Math.Abs(QueenMap[i] - QueenMap[n]) == n - i)  
                    return false;  
            }  
            return true;  
        }  
    }  

http://blog.csdn.net/gisfarmer/archive/2009/02/03/3860266.aspx


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北辰区| 龙泉市| 南郑县| 永和县| 德江县| 关岭| 博罗县| 荥阳市| 永年县| 勐海县| 丰台区| 开原市| 济源市| 宜州市| 龙口市| 旺苍县| 宁国市| 佳木斯市| 黔东| 新竹县| 元氏县| 怀化市| 青阳县| 承德县| 张掖市| 莱阳市| 巫山县| 安化县| 咸阳市| 揭东县| 都兰县| 丰台区| 昌都县| 资源县| 开化县| 安康市| 托克逊县| 云阳县| 江城| 台南市| 泾源县|