很明显DP
#include<bits/stdc++.h>
using namespace std;
const int maxn=40;
int dp[maxn][maxn];
int n,m;
int main(){
scanf("%d%d",&n,&m);
dp[1][1]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if((i+1)&1||j&1)
dp[i+1][j]+=dp[i][j];
if(i&1||(j+1)&1)
dp[i][j+1]+=dp[i][j];
}
}
cout<<dp[n][m]<<endl;
}