解题思路:
本题采用动态规划,第i级台阶方案数只与第i-1和i-3级台阶相关,动归方程为:dp[i] = dp[i - 1] + dp[i - 3];
注意事项:
参考代码:
#include <stdio.h> int main() { int n; scanf("%d", &n); int dp[n + 1]; for (int i = 0; i <= n; i++) { if (i < 3) { dp[i] = 1; } else { dp[i] = dp[i - 1] + dp[i - 3]; } } printf("%d", dp[n]); return 0; }
0.0分
2 人评分
WU-整除问题 (C++代码)浏览:611 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:560 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:530 |
时间转换 (C语言代码)浏览:624 |
格式化数据输出 (C语言代码)浏览:811 |
找出最长的字符串来 (C语言代码)浏览:1762 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:553 |
C二级辅导-分段函数 (C语言代码)浏览:739 |
母牛的故事 (C语言代码)浏览:451 |
P1002 (C语言代码)浏览:951 |