[第十一届蓝桥杯省赛C++B组]走方块 原创
算法标签:DP
题目简叙
思路
1.i== 2|| j==2不可走
2.边缘初始化一步
3.当前位子的可能等于左边和上边的数量之和:dp[i][j]=dp[i-1][j]+dp[i][j-1];
代码
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
const int nlen=n,mlen=m;
int res=0;
int dp[nlen+10][mlen+10];
memset(dp,0,sizeof dp);
for(int i=1;i<=nlen;i++)
for(int j=1;j<=mlen;j++){
if(i % 2 == 0 && j % 2 == 0) continue;
else if(i==1||j==1)dp[i][j]=1;
else dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
cout<<dp[nlen][mlen];
return 0;
}
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人