杭电oj 2041 超级楼梯 C语言

这是一个经典的动态规划问题,可以使用动态规划的方法求解。

设arri表示走上第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]);
		}
	}
}
相关推荐
李妍.3 小时前
02Numpy基础(上)
开发语言·python
TheBestRucy3 小时前
Python 九阳神功之贰:面向对象(下)
开发语言·python
AI_小站4 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
felixking5 小时前
C++20 协程
开发语言·c++·协程
Zane1994126 小时前
CAS 与原子类:Java 如何实现无锁编程
java·开发语言
码农颜7 小时前
6.3 主函数流程剖析
开发语言·php
TheBestRucy7 小时前
Python 九阳神功:从零筑基到线程飞升
服务器·开发语言·网络·人工智能·python
研☆香7 小时前
聊一聊前端的常见字 关键字
开发语言·前端·javascript
wuminyu8 小时前
JDK21中虚拟线程和FFM协同实现高并发源码剖析
java·linux·c语言·jvm·c++
草莓橙子碗8 小时前
Claude 使用指南
开发语言·python