在8*8方格的棋盤上,從任意指定方格出發(fā),為馬尋找一條走遍棋盤每一格并且只經(jīng)過一次的一條路徑.

熱心網(wǎng)友

馬可以走8個方向,在2維數(shù)組里存第幾步,沒走過的就是0。建一個棧存第幾步在什么坐標。象走迷宮一樣。附CSDN里搜的一個。在XP,VC6。0下調(diào)試成功。//貪心法 //跳馬問題 #include #include #include #define ROW 8 //行數(shù),可變 #define LINE 8 //列數(shù),可變 #define NUM ROW*LINE //總格數(shù) int board[ROW][LINE]; //兩個數(shù)組存儲對應的偏移量 int stepRow[8] = {-1,-2,-2,-1,1,2,2,1}; int stepLine[8] = {-2,-1,1,2,2,1,-1,-2}; //求 (i,j) 的出口數(shù),各個出口對應的號存在 a[] 中。 //s 表示順序選擇法的開始 int exitn(int i ,int j ,int s ,int a[]){ int i1,j1,k,count; for( count = k = 0 ; k = 0 && i1 = 0 && j1 NUM || no == -1) break; start++; }while( step <= NUM ); if( no != -1 ){ cout<<"任意鍵打印下個結果:"<

熱心網(wǎng)友

呃,深度優(yōu)先搜索,這種小兒科的程序,隨便到一個中學的信息學競賽網(wǎng)站上面都有解