杭电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]);
		}
	}
}
相关推荐
Ws_23 分钟前
C#学习 Day2
开发语言·学习·c#
杰克尼43 分钟前
天机学堂复习总结(day03-day04)
java·开发语言·redis·elasticsearch·spring cloud
x***r1511 小时前
jdk-11.0.16.1_windows使用步骤详解(附JDK 11环境变量配置与验证教程)
java·开发语言·windows
luck_bor2 小时前
File类&递归作业
java·开发语言
枕星而眠5 小时前
数据结构八大排序详解(一):四大简单排序
c语言·数据结构·c++·后端
努力努力再努力wz5 小时前
【Qt入门系列】:按钮组件全解析:从 QAbstractButton 到快捷键事件、单选与复选机制
c语言·开发语言·数据结构·c++·git·qt·github
skywalk81636 小时前
言知(Yanzhi)系统提升建议报告和完工报告 by AutoCoder
开发语言·编程
yunn_6 小时前
单例模式两种实现方法
开发语言·c++·单例模式
我材不敲代码6 小时前
Python基础:列表详解、增删改查及常用高阶操作
开发语言·windows·python
AI玫瑰助手7 小时前
Python运算符:成员运算符(in/not in)的使用场景
开发语言·python·信息可视化