杭电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]);
		}
	}
}
相关推荐
福楠6 小时前
现代C++ | 智能指针
c语言·开发语言·c++
ruxingli6 小时前
GoLang channel管道
开发语言·后端·golang
Risehuxyc6 小时前
PHP 的缓存机制
开发语言·缓存·php
sinat_255487816 小时前
JSON·学习笔记
java·开发语言·笔记·算法
Yupureki6 小时前
《算法竞赛从入门到国奖》算法基础:动态规划-基础线性dp
c语言·开发语言·算法·动态规划
_DCG_6 小时前
go第一个工程安装过程与问题汇总
开发语言·后端·golang
lsx2024066 小时前
Bootstrap 附加导航
开发语言
白杆杆红伞伞6 小时前
R_常用函数
开发语言·r语言
工程师老罗7 小时前
LVGL文本显示问题,编码问题
java·开发语言
痴心阿文7 小时前
npx create-next-app@latest从Vue迁移的最佳实践
开发语言·前端·javascript