题解:由1维dp的方法,数据太小,写的2维
#include <iostream>
#include <cstdio>
using namespace std;
#define ll long long
int n,m;
ll f[100][5];
ll dfs(int x,int s)
{
if(s==m) return 0;//先写这句
if(x==n+1) return 1;//因为从1开始,所以要n+1
if(f[x][s]>0) return f[x][s];
f[x][s]=dfs(x+1,s+1)+dfs(x+1,0);
return f[x][s];
}
int main()
{
cin>>n>>m;
cout<<dfs(1,0);
}