成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#算法巧解八皇后問題淺析

開發 后端 算法
C#算法巧解八皇后問題是如何實現的呢?那么本文就像你介紹關于八皇后問題的C#算法的解決。

八皇后問題問題描述:

八皇后問題是一個古老而著名的問題,是回溯算法的典型例題。該問題是十九世紀著名的數學家高斯1850年提出:在8X8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處于同一行、同一列或同一斜線上,問有多少種擺法。

C#算法的解決方法:

  1. public class Queen  
  2.  {  
  3.   public Queen()  
  4.   {  
  5.    //  
  6.    // TODO: 在此處添加構造函數邏輯  
  7.    //  
  8.   }  
  9.   private static bool[] columflag=new bool[8]{true,  
  10.  true,true,true,true,true,true,true};//列占用標記 true為可用  
  11.   private static bool[] leftflag=new bool[15]{true,true,true,  
  12.  true,true,true,true,true,true,true,true,true,true,true,true};//左行對角線占用標記  
  13.   private static bool[] rightflag=new bool[15]{true,true,  
  14.  true,true,true,true,true,true,true,true,true,true,true,true,true};//右行對角線占用標記  
  15.   private static int[,] position=new int[,]{{0,0,0,0,0,0,0,0},  
  16.    {0,0,0,0,0,0,0,0},  
  17.    {0,0,0,0,0,0,0,0},  
  18.    {0,0,0,0,0,0,0,0},  
  19.    {0,0,0,0,0,0,0,0},  
  20.    {0,0,0,0,0,0,0,0},  
  21.    {0,0,0,0,0,0,0,0},  
  22.    {0,0,0,0,0,0,0,0}  
  23.              };//皇后位置坐標  
  24.   private static int sum=0;  
  25.     
  26.   public static void TryStep(int i)//i取值1至8  
  27.   {  
  28.    for (int j=1;j<=8;j++)   
  29.    {  
  30.     if (columflag[j-1]&&leftflag[i+j-2]&&rightflag[i-j+7])//如果當前位置可以放置  
  31.     {  
  32.      columflag[j-1]=false;  
  33.      leftflag[i+j-2]=false;  
  34.      rightflag[i-j+7]=false;//占用  
  35.  
  36.      position[i-1,j-1]=1;//加入皇后位置  
  37.      if (i<8)  
  38.      {  
  39.       TryStep(i+1);//進入下一行  
  40.      }  
  41.      else 
  42.      {  
  43.       sum++;//解法數統計  
  44.       Console.WriteLine("");  
  45.       Console.WriteLine("第 {0} 種解法:",sum);  
  46.       Console.WriteLine("");  
  47.  
  48.       for (int m=0;m<8;m++) //打印解法  
  49.       {  
  50.        for (int n=0;n<8;n++)  
  51.        {  
  52.         Console.Write("{0} ",position[m,n]);  
  53.        }  
  54.        Console.Write("\n");  
  55.         
  56.       }  
  57.  
  58.      }  
  59.  
  60.      columflag[j-1]=true;//如果不能放置時,取消占座及移走皇后  
  61.      leftflag[i+j-2]=true;  
  62.      rightflag[i-j+7]=true;  
  63.      position[i-1,j-1]=0;  
  64.        
  65.     }  
  66.  
  67.    }  
  68.   }  
  69.  } 

C#算法巧解八皇后問題就向你介紹到這里,希望通過這個例子使你對C#算法有一點認識。

【編輯推薦】

  1. 簡單介紹C#預處理
  2. 學習C#無詞尾符號經驗談
  3. C#調用QuickTest自動化
  4. 詳解C#正規表達式
  5. C#字符串插入html標簽
責任編輯:仲衡 來源: 博客園
相關推薦

2021-04-23 21:03:10

MySQL數據語法

2009-08-11 13:54:54

約瑟夫環算法C#算法

2009-08-11 09:19:52

C#選擇排序C#算法

2010-10-08 15:53:42

2009-09-04 18:16:19

C# Main參數C# Main

2010-12-24 15:38:53

C#單例模式

2009-08-21 14:03:04

C#網絡編程

2009-08-07 17:25:37

C# SortedLi

2009-08-17 18:34:50

C# ChangeCo

2009-08-14 17:45:52

C# ArrayLis

2009-08-11 10:26:49

C#算法C#字符串反轉

2010-09-17 13:45:40

JVM termina

2010-09-26 15:53:25

JVM內存溢出

2009-08-25 17:59:49

C#入門

2009-08-24 10:07:57

C#泛型處理

2009-08-12 15:20:21

C#事件處理

2009-08-17 13:34:02

C#異步操作

2009-08-26 13:07:07

C#交錯數組

2009-08-27 11:43:31

C#語法

2009-09-10 14:52:55

C# get
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本久久精品视频 | 久久久久久久一区 | 免费的av网站 | 欧美大片一区 | 伊人导航 | 亚洲视频一 | 成人三级网址 | 国产精品自产av一区二区三区 | 亚洲a视频| 高清国产一区二区 | 亚洲一区国产 | 午夜视频免费在线观看 | 亚洲一区二区免费视频 | 欧美黄色大片在线观看 | 国产精品伦理一区 | 狠狠的干| 男女免费观看在线爽爽爽视频 | 91亚洲精品国偷拍自产在线观看 | 999精品在线 | 视频一区二区在线观看 | 亚洲精品免费看 | 国产精品久久久久久久久久免费看 | 久久久久久久久91 | 日韩二区三区 | 欧美jizzhd精品欧美巨大免费 | 亚洲精品亚洲人成人网 | 91素人| 成人三区四区 | 夜夜爽99久久国产综合精品女不卡 | 在线欧美一区 | 欧美日韩国产中文字幕 | 亚洲一区中文字幕在线观看 | 欧美激情综合 | 欧美日韩国产一区二区三区 | 免费成人毛片 | 中文字幕免费中文 | 精品视频999 | 亚洲国产精品成人 | 狠狠操电影 | 国产精品免费一区二区三区四区 | 国产一区二 |