杭电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]);
		}
	}
}
相关推荐
qq_1508419914 小时前
3天基于VS2026的C#编程入门及动态调用CH341DLLA64读写I2C从机
开发语言·c#
祈安_15 小时前
深入理解指针(一)
c语言·前端
Tony Bai15 小时前
Go 1.26 :go mod init 默认行为的变化与 Go 版本管理的哲学思辨
开发语言·后端·golang
xyq202415 小时前
WebForms SortedList 深度解析
开发语言
Hx_Ma1615 小时前
测试题(三)
java·开发语言·后端
CHANG_THE_WORLD16 小时前
深入理解C语言指针:从源码到汇编的彻底剖析
c语言·开发语言·汇编
星火开发设计16 小时前
序列式容器:deque 双端队列的适用场景
java·开发语言·jvm·c++·知识
码农葫芦侠16 小时前
Rust学习教程2:基本语法
开发语言·学习·rust
键盘鼓手苏苏17 小时前
Flutter for OpenHarmony 实战:Envied — 环境变量与私钥安全守护者
开发语言·安全·flutter·华为·rust·harmonyos
特种加菲猫17 小时前
C++核心语法入门:从命名空间到nullptr的全面解析
开发语言·c++