馬踏棋盤 詳細注釋版

2021-10-24 13:38:11 字數 1308 閱讀 7688

#include

#include

#define stack_init_size 100

//初始化棧的大小

#define n 10

typedef

struct

coordinate;

//座標

int chessboard[8]

[8]=

;//初始化棋盤

coordinate move[8]

=,,,

,,,,

};//座標移動方向 用這種資料型別的好處多多

typedef

struct

selemtype;

//該資料型別的名字 ,棋盤資訊結構體型別

typedef

struct

//定義棧的元素

sqstack;

//該資料型別的名字

intinitstack

(sqstack *s1)

//開闢乙個棧空間,s1是指向sqstack型別的指標

selemtype pop

(sqstack*s,selemtype m)

//位置:位置元素出棧

intpush

(sqstack *s1,selemtype m)

//位置:元素入棧

intstackempty

(sqstack *s)

//棧:判空 返回1:棧空,,,,,返回0:棧不空

intpass

(coordinate s)

//判斷座標是否合法

coordinate nextpos

(coordinate s,

int i)

void

print()

//列印棋盤

}void

horse

(coordinate start)

else

}else

//位置不合法

while

(e.di==7&&

!stackempty

(&s)

)//如果上上乙個點還是7位置,則繼續對其進行出棧操作;//當馬走到上乙個點的最後乙個可走方向上的時候,棧不空

if(e.di<7)

//如果探索的位置小於7則繼續探索 }}

}while(!

stackempty

(&s));

//棧不空則迴圈繼續

print()

;}intmain()

馬踏棋盤python 馬踏棋盤python實現

import collections import random class checkerboard object 初始化棋盤 def init self,len self.len len self.position has gone set def init checkerboard self ...

回溯演算法(馬踏棋盤)

近期學習了回溯演算法於是自己寫了馬踏棋盤的遞迴以及非遞迴方式的 theme 馬踏棋盤 回溯演算法 coder 秒針的聲音 time 2015.1.11 include include include define m 8 typedef struct nodehorse horse horse1 i...

馬踏棋盤演算法

為.c檔案 include include include define rows 8 define cols 8 int cheesboard rows cols const int movex 8 const int movey 8 初始化棋盤,將棋盤所有的位置賦值為0 void initboa...