这是一道比较简单的dp问题,根据题意进行模拟就可以了。有两个需要注意的点: 转移方程为:dp[i][j]=dp[i-1][j]+dp[i][j-1]。 棋盘起点为(0,0),为了防止数组越界,需要将棋盘起点转移至(1,1)。 具体解决方法和思路在代码注释中都要详细讲解,希望大家可以认真看。 参考代码如下: #include<iostream> #include<cstring> using namespace std; bool vis[23][23]; //确定方向 int dirx[8]={1,2,1,2,-1,-2,-1,-2}; int di...