杭电oj 2041 超级楼梯 C语言

这是一个经典的动态规划问题,可以使用动态规划的方法求解。

设arr[i]表示走上第i级楼梯的不同走法数量。则对于第i级楼梯,可以从第i-1级楼梯跨1步走上来,也可以从第i-2级楼梯跨2步走上来。因此,走上第i级楼梯的走法数量等于走上第i-1级楼梯和第i-2级楼梯的走法数量之和。

cs 复制代码
#include<stdio.h>
#include<stdlib.h>

void main()
{
	int n, m, i,j,*arr;
	while (~scanf_s("%d", &n))
	{
		for (i = 0; i < n; i++)
		{
			scanf_s("%d", &m);
			arr = (int*)malloc(m * sizeof(int));
			for (j = 0; j < m; j++)
			{
				if (j < 3)arr[j] = j;
				else arr[j] = arr[j - 1] + arr[j - 2];
			}
			printf("%d\n", arr[j-1]);
		}
	}
}
相关推荐
hygge99910 小时前
JVM GC 垃圾回收体系完整讲解
java·开发语言·jvm·经验分享·面试
wuwu_q10 小时前
通俗易懂 + Android 开发实战的方式,详细讲讲 Kotlin 中的 StateFlow
android·开发语言·kotlin
峰哥的Android进阶之路10 小时前
Kotlin面试题总结
android·开发语言·kotlin
froginwe1110 小时前
RSS 语法:全面解析与优化指南
开发语言
小飞大王66610 小时前
JavaScript基础知识总结(六)模块化规范
开发语言·javascript·ecmascript
qk学算法10 小时前
Collections工具类
java·开发语言
缺点内向11 小时前
Java: 为PDF批量添加图片水印实用指南
java·开发语言·pdf
西西学代码11 小时前
Flutter---异步编程
开发语言·前端·javascript
song85460113411 小时前
锁的初步学习
开发语言·python·学习
重整旗鼓~11 小时前
38.附近商户实现
java·开发语言