91精品人妻互换日韩精品久久影视|又粗又大的网站激情文学制服91|亚州A∨无码片中文字慕鲁丝片区|jizz中国无码91麻豆精品福利|午夜成人AA婷婷五月天精品|素人AV在线国产高清不卡片|尤物精品视频影院91日韩|亚洲精品18国产精品闷骚

您當(dāng)前位置:首頁(yè) > 新聞?lì)l道 > 技術(shù)動(dòng)態(tài) > 正文
一種馬步遍歷問題與騎士巡游問題的回溯算法

【摘要】馬步遍歷問題與騎士巡游(knight's tour)問題是指在有8  8方格的國(guó)際象棋棋盤上進(jìn)行奇異的騎士“L型”(L-shaped)移動(dòng)的問題。而騎士巡游問題實(shí)際是帶有約束條件的馬步遍歷問題,因此在用程序求解的時(shí)候可以一并求解。本文給出求解這一問題的回溯算法之C++語(yǔ)言程序。
論文關(guān)鍵詞:騎士巡游,回溯算法,C++語(yǔ)言
  一般地說,我們用如下方法表示一個(gè)解:即把數(shù)字0,1,…,63放入棋盤中的方格來表示到達(dá)這些方格的順序。解決騎士巡游問題更具創(chuàng)意的方法之一是由J. C. Warnsdorff在1823年提出的。其規(guī)則是:騎士總是移向具有最少出口且沒有到達(dá)過的方格之一。
  由于騎士巡游問題實(shí)際是帶有約束條件的馬步遍歷問題,因此在用程序求解的時(shí)候可以一起求解。程序算法依然是回溯法,和皇后問題有相似之處。馬步遍歷和騎士巡游問題的復(fù)雜度較高,求出一個(gè)解相對(duì)容易,但要求出所有的解是要花一定時(shí)間的。
  一、回溯算法的實(shí)現(xiàn)
  1.為解決這個(gè)問題,我們把棋盤的橫坐標(biāo)定為i,縱坐標(biāo)定為j。i和j的取值范圍是從1到SIZE。當(dāng)某個(gè)騎士占了位置(i,j)時(shí),其在這個(gè)位置上可以向8個(gè)方向以“L型”移動(dòng),它們分別是:
  方向1:i+2,j+1;
  方向2:i+1,j+2;
  方向3:i-1,j+2;
  方向4:i-2,j+1;
  方向5:i-2,j-1;
  方向6:i-1,j-2;
  方向7:i+1,j+2;
  方向8:i+2,j-1。
  2.棋盤以二維數(shù)組表示,其下標(biāo)最大值8,將騎士的每一步按1,2,3 … 64填入數(shù)組相應(yīng)單元。其過程如下:
  ………
  for(int i=0;i<8;i++)
  for(int j=0;j<8;j++)
  trajKT[i][j]=0;
  [作者簡(jiǎn)介] 王力強(qiáng)(1965- ),江蘇省常州市武進(jìn)區(qū)人,陜西省城市經(jīng)濟(jì)學(xué)校財(cái)務(wù)科長(zhǎng),工程師。
  ………
  for(int e=0; e<=curPointSub; e++)
  {
  trajKT[moveTraj[e].Location.x_pos][moveTraj[e].Location.y_pos] = e+1;
  }
  for(i=0;i<8;i++)
  {
  for(int j=0;j<8;j++)
  cout<

關(guān)鍵字:通訊,江蘇,常州,武進(jìn)區(qū)
About Us - 關(guān)于我們 - 服務(wù)列表 - 付費(fèi)指導(dǎo) - 媒體合作 - 廣告服務(wù) - 版權(quán)聲明 - 聯(lián)系我們 - 網(wǎng)站地圖 - 常見問題 - 友情鏈接
Copyright©2014安裝信息網(wǎng) m.78375555.com. All rights reserved.
服務(wù)熱線:4000-293-296 聯(lián)系電話:0371-61311617 傳真:0371-55611201 QQ: 郵箱:zgazxxw@126.com 豫ICP備18030500號(hào)-4
未經(jīng)過本站允許,請(qǐng)勿將本站內(nèi)容傳播或復(fù)制
安全聯(lián)盟認(rèn)證