#include <iostream>
using namespace std;
int f[31][31];
int main(){int n,m;scanf("%d%d",&n,&m);f[1][1]=1;//边界:f(1,1)=1for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if((i&1||j&1)&&(i!=1||j!=1))//i,j不均为偶数,且i,j不均为1f[i][j]=f[i-1][j]+f[i][j-1];//状态转移printf("%d",f[n][m]);return 0;
}
每一步都由上一步得来,即a[i][j]都由a[i-1][j]或则a[i][j-1]得来,最后a[n][m]就是答案,第一时间没有想到用dp,所以想半天想不出来