杭电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]);
		}
	}
}
相关推荐
biter down1 分钟前
C++的IO流
开发语言·c++
无心水3 分钟前
【常见错误】1、Java并发工具类四大坑:从ThreadLocal到ConcurrentHashMap,你踩过几个?
java·开发语言·后端·架构·threadlocal·concurrent·java并发四大坑
Love Song残响6 分钟前
MATLAB疑难杂症全攻略:从报错到优化
开发语言·matlab
risc12345620 分钟前
channel.read(dest, channelPosition) 的读取大小限制
开发语言·python
这波不该贪内存的40 分钟前
HTTP通信与多线程服务器实战
c语言
困死,根本不会41 分钟前
Qt Designer 基础操作学习笔记
开发语言·笔记·qt·学习·microsoft
李昊哲小课1 小时前
Python 高级数据结构
开发语言·数据结构·python
MediaTea1 小时前
Python:词频统计流程及综合示例
开发语言·python
wregjru1 小时前
【读书笔记】Effective C++ 条款5~6:若不想使用编译器自动生成的函数,就该明确拒绝
java·开发语言