解题思路:
此题的简化题为题1233,核电站问题,我有详细解析的题解,可以先去做那个题再来尝试这个题,都是类似的,学会即一通百通。
注意事项:
参考代码:
#include <iostream> using namespace std; long long pow(int t) { long long p=1; for(int i=0;i<t;i++)p*=2; return p; } int main() { int l; cin>>l; for(int k=0;k<l;k++) { int n,m; cin>>n>>m; long long dp[50]={0}; for(int i=0;i<m;i++) { dp[i]=pow(i);//当i小于m时,方案数等于2的i次方,应该很好理解。 } if(n<m) { cout<<dp[n]<<endl;continue; } else { for(int i=m;i<=n;i++) { for(int j=1;j<=m;j++)//dp[i]等于前m个dp的总和。 { dp[i]+=dp[i-j]; } } cout<<dp[n]<<endl; } } }
0.0分
2 人评分
C二级辅导-公约公倍 (C语言代码)浏览:2122 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:511 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:525 |
剪刀石头布 (C语言代码)不知道怎么直接在scanf中用枚举变量浏览:1307 |
校门外的树 (C语言代码)浏览:957 |
C语言训练-求函数值 (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题5.7 (Java代码)浏览:886 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:668 |
模拟计算器 (C++代码)浏览:801 |
杨辉三角 (C语言代码)浏览:484 |