思路:很简单的dp动态规划一直不段更新然后输出对应的值。
ac代码:
#include <iostream>
using namespace std;
const int maxn=310;
long long dp[maxn][maxn];
int main()
{
int a,b;
cin>>a>>b;
for(int i=1;i<=a;i++)
{
for(int j=1;j<=b;j++)
{
if(i==1||j==1)
dp[i][j]=1;
else if(j>i)
dp[i][j]=dp[i][i];
else if(i==j)
{
dp[i][j]=dp[i][j-1]+1;
}
else
dp[i][j]=dp[i][j-1]+dp[i-j][j];
}
}
cout<<dp[a][b]<<endl;
return 0;
}