理论部分
dp史上最简单的题
用小学学的标数法
就是
如果碰到马,f[i][j]=0
代码部分
a点坐标是0,0很不方便,所以以后谈坐标时都加一
但是马的九个位置有2个x是+2的
所以以后坐标加2(怕马的坐标是x,0)
前面定义f(dp数组),s(马跳一步的位置),bx(终点x坐标),by(终点y坐标),cx(马x坐标,cy(马y坐标)
然后方向数组把马跳一步的位置找出来,s[位置]=1;
把f[2][1]=赋值为1
循环从2,2到dx,dy
if(s[i][j])有马
跳过
公式
输出f[dx][dy]
对了,结果可能很大,f定义为longlong
我写了那末多,大家自己写代码呗(代码才534b)
还是让你们复制吧
#include<bits/stdc++.h>
//f[i][j]=f[i][j-1]+f[i-1][j]状态转移方程
usin