[计蒜客(蓝桥杯省赛)]马踏过河卒

题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛) 算法标签 冒泡排序 题目 [计蒜客(蓝桥杯省赛)]马踏过河卒
文章图片

提示 【[计蒜客(蓝桥杯省赛)]马踏过河卒】[计蒜客(蓝桥杯省赛)]马踏过河卒
文章图片

思路 先标记马的预备位与自身位置不可走。
卒子当前的路径数=[i-1][j]的路径数+[i][j-1]的路径数
题目代码

#includeusing namespace std; const int N=30; typedef long long LL; LL map[N][N]; bool st[N][N]; int dir[8][2]={{1,-2},{2,-1},{2,1},{1,2},{-1,2},{-2,1},{-2,-1},{-1,-2}}; //马的偏移量 int main() { int n,m,cx,cy; cin>>n>>m>>cx>>cy; st[cx][cy]=true; //马起点 for(int i=0; i<8; i++)st[cx+dir[i][0]][cy+dir[i][1]]=true; //马可到的位置map[0][0]=1; //出发点 预填为1 for(int i=0; i<=n; i++) for(int j=0; j<=m; j++) if(i||j)if(!st[i][j])map[i][j]=map[i-1][j]+map[i][j-1]; //不过边界 不过马cout<

    推荐阅读