Problem-J
2016-05-07 21:21
211 查看
概述:有个台阶,每次只能上一阶或者两阶,问要到某一台阶,共有多少种走法。
思路:动态规划的问题,用斐波那契数列解题,每上一层台阶,从相邻的下台阶只有一种方式,但是上下台阶有不同方式,然后相隔的下台阶上这个台阶也有一种方式,同时上相隔的台阶有不同的方式,所以相加就是上这个台阶的方式,斐波那契数列。
感想:下午写完的题目好像忘记写感想了。。这两道题目都是斐波那契数列的题目,推理找出规律就简单了,所以并不难。
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
//ifstream cin("in.txt");
int N;
cin >> N;
while (N--)
{
int M;
cin >> M;
int fl[41] = { 0 };
fl[1] = 1;
fl[2] = 1;
for (int i = 3;i <= 40;i++)
fl[i] = fl[i - 1] + fl[i - 2];
cout << fl[M] << endl;
}
return 0;
}
思路:动态规划的问题,用斐波那契数列解题,每上一层台阶,从相邻的下台阶只有一种方式,但是上下台阶有不同方式,然后相隔的下台阶上这个台阶也有一种方式,同时上相隔的台阶有不同的方式,所以相加就是上这个台阶的方式,斐波那契数列。
感想:下午写完的题目好像忘记写感想了。。这两道题目都是斐波那契数列的题目,推理找出规律就简单了,所以并不难。
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
//ifstream cin("in.txt");
int N;
cin >> N;
while (N--)
{
int M;
cin >> M;
int fl[41] = { 0 };
fl[1] = 1;
fl[2] = 1;
for (int i = 3;i <= 40;i++)
fl[i] = fl[i - 1] + fl[i - 2];
cout << fl[M] << endl;
}
return 0;
}
相关文章推荐
- Mysql和Oracle 用Mybatis批量增加,删除,更新
- SPOJ 687 后缀数组+RMQ
- Java中的关键字
- 安卓日记——自定义按钮效果
- 扫雷问题
- Git的使用
- SlidingMenu常规方法使用笔记
- spark1.4的本地模式编程练习(2)
- JVM类加载机制详解(二)类加载器与双亲委派模型
- BestCoder Round #65 ZYB's Game
- HDU 1874 畅通工程续
- Web前端性能优化(六)减少DNS查找、避免重定向
- linux下的简单文件服务器和客户端程序
- Spring记录之模拟IoC(一)
- 纸牌游戏
- 关于开发springmvc和mybatis的环境搭建
- 左值与右值
- OpenCV(学习笔记6)-视频读取与显示
- 判断邮箱 格式是否正确
- 用python爬虫爬HRBUSTOJ代码