SDUT 1400 馬的走法 回溯法)

2022-03-03 20:05:09 字數 772 閱讀 4581

在乙個4*5的棋盤上,馬的初始位置座標(縱 橫)位置由鍵盤輸入,求馬能返回初始位置的所有不同走法的總數(馬走過的位置不能重複,馬走「日」字)。如果馬的初始位置座標超過棋盤的邊界,則輸出error。例如初始位置為4 6,則輸出error。
輸入資料只有一行,有兩個用空格分開的整數,表示馬所在的初始位置座標。首行首列位置編號為(1 1)。
輸出一行,只有乙個整數,表示馬能返回初始位置的所有不同走法的總數。如果輸入的馬的初始位置超出棋盤邊界,則輸出error。
2 2

題目規模小,採用遞迴回溯方法

#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的棋盤上,馬的初始位置座標 縱 橫 位置由鍵盤輸入,求馬能返回初始位置的所有不同走法的總數 馬走過的位置不能重複,馬走 日 字 如...