解题思路:
本题采用动态规划,第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 人评分
妹子杀手的故事 (C语言代码)浏览:1230 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:685 |
【偶数求和】 (C语言代码)浏览:557 |
【计算两点间的距离】 (C语言代码)浏览:1493 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:674 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:560 |
1118(求助_已解决)浏览:329 |
陶陶摘苹果2 (C语言代码)浏览:601 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:537 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:771 |