杭电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]);
		}
	}
}
相关推荐
{⌐■_■}12 分钟前
【Validator】字段验证器struct与多层级验证,go案例
开发语言·信息可视化·golang
fly spider17 分钟前
每日 Java 面试题分享【第 13 天】
java·开发语言·面试
Pandaconda22 分钟前
【Golang 面试题】每日 3 题(四十三)
开发语言·经验分享·笔记·后端·面试·golang·go
兮动人24 分钟前
Go语言快速开发入门
开发语言·后端·golang·go语言快速开发入门
笛柳戏初雪35 分钟前
Python中容器类型的数据(上)
开发语言·python
新知图书35 分钟前
Linux C\C++编程-Linux系统的字符集
linux·c语言·c++
网络点点滴1 小时前
声明式和函数式 JavaScript 原则
开发语言·前端·javascript
利刃大大1 小时前
【Linux系统编程】二、Linux进程概念
linux·c语言·进程·系统编程
stevewongbuaa2 小时前
一些烦人的go设置 goland
开发语言·后端·golang