在乙個4*5的棋盤上,馬的初始位置座標(縱 橫)位置由鍵盤輸入,求馬能返回初始位置的所有不同走法的總數(馬走過的位置不能重複,馬走「日」字)。如果馬的初始位置座標超過棋盤的邊界,則輸出error。例如初始位置為4 6,則輸出error。
輸入資料只有一行,有兩個用空格分開的整數,表示馬所在的初始位置座標。首行首列位置編號為(1 1)。
2 2輸出一行,只有乙個整數,表示馬能返回初始位置的所有不同走法的總數。如果輸入的馬的初始位置超出棋盤邊界,則輸出error。
題目規模小,採用遞迴回溯方法
#include#includeusing namespace std;
const int rows = 5; //行數
const int colums = 6; //列數
int chess[rows][colums]; //棋盤
int numcount = 0;
int posx,posy;
int direction[2][8]=,};
void solve(int x,int y)
else
} }}
int main()
else
return 0;
}
馬的走法 SDUT
time limit 1000ms memory limit 65536k 有疑問?點這裡 在乙個4 5的棋盤上,馬的初始位置座標 縱 橫 位置由鍵盤輸入,求馬能返回初始位置的所有不同走法的總數 馬走過的位置不能重複,馬走 日 字 如果馬的初始位置座標超過棋盤的邊界,則輸出error。例如初始位置為...
馬走日字 回溯法
馬走日字問題,在n m的棋盤中,馬只能走 日 字。馬從位置 x,y 出發,把棋盤的每一格都走一次且只走一次。找出所有路徑。這個問題可以用回溯法解,每一步都有八種可能的走法,設馬當前在 x,y 點,則它的可能走到 x 1,x 2 x 1,x 2 x 1,x 2 x 1,x 2 x 2,x 1 x 2,...
馬的走法oj
time limit 1000 ms memory limit 65536 kib submit statistic problem description 在乙個4 5的棋盤上,馬的初始位置座標 縱 橫 位置由鍵盤輸入,求馬能返回初始位置的所有不同走法的總數 馬走過的位置不能重複,馬走 日 字 如...