杭电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]);
		}
	}
}
相关推荐
学习编程的gas32 分钟前
C++面向对象编程入门:从类与对象说起(一)
开发语言·c++
冼紫菜33 分钟前
【Spring Boot 多模块项目】@MapperScan失效、MapperScannerConfigurer 报错终极解决方案
java·开发语言·mybatis
Bear on Toilet1 小时前
Bug日记——实现“日期类”
开发语言·c++·bug
apcipot_rain1 小时前
《面向对象程序设计-C++》实验五 虚函数的使用及抽象类
开发语言·c++
明月看潮生4 小时前
青少年编程与数学 02-019 Rust 编程基础 05课题、复合数据类型
开发语言·青少年编程·rust·编程与数学
幼稚诠释青春4 小时前
Java学习笔记(对象)
java·开发语言
Wyc724095 小时前
JDBC:java与数据库连接,Maven,MyBatis
java·开发语言·数据库
强化学习与机器人控制仿真5 小时前
Newton GPU 机器人仿真器入门教程(零)— NVIDIA、DeepMind、Disney 联合推出
开发语言·人工智能·python·stm32·深度学习·机器人·自动驾驶
芯片SIPI设计5 小时前
MIPI C-PHY 标准学习----一种通用多信号传输方案
c语言·开发语言·学习
Tiny番茄5 小时前
No module named ‘xxx’报错原因及解决方式
开发语言·python