#include<iostream>
using namespace std;
int n,k,f[202][8];
int main() {
cin >> n >> k;
for (int i=1; i<=n; i++) { //初始化
f[i][1]=1;
f[i][0]=1;
}
for (int i=2; i<=201; i++)
for (int j=2; j<=7; j++) {
f[i][j]=f[i-1][j-1]; //j先放1
if (i>j) f[i][j]+=f[i-j][j]; //如果能放其他,抽屉法,在每个j中都放入1,ij问题就转换为了i-j,j
}
cout<<f[n][k];
return 0;
}
洛谷 P1025 数的划分 提高- ,dp解法
于 2024-01-09 16:45:29 首次发布