取数游戏
来源:互联网 发布:希腊罗马神话 知乎 编辑:程序博客网 时间:2024/05/22 19:43
Description
我们来玩一个游戏:自然数1到N,按顺序列成一排,你可以从中取走任意个数,但是相邻的两个不可以同时被取走。如果你能算出一共有多少种取法,那么你会被天神Lijiganjun奖励。
Input
仅包含一个数n(1< n < 50)。
Output
仅包含一个数———你的答案。
Sample Input
5
Sample Output
13
一个很简单但是我不会的题。
试了半天终于发现是fib数列。
考虑 f[i] 与 f[i-1] 的关系,相当于在 i-1 的序列里最右侧加入了一个 i ,于是就有了两种情况,一种是先拿 i , 但 i - 1 就不能一起拿了,也就是说这种情况相当于前 i - 2 跟 i 一起拿,也就是 f[i-2] ,第二种情况是留着 i 最后再拿,也就成了只拿前 i - 1 ,即 f[i-1] , f[i] 为两种情况之和,也就是 f[i] = f[i-1] + f[i-2];
最后注意下答案是需要用 long long 存的。
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;long long f[60];int main(){ int n; scanf("%d",&n); f[1] = 2; f[2] = 3; for(int i = 3 ; i <= n ; i ++) f[i] = f[i-1] + f[i-2]; printf("%lld\n",f[n]); return 0;}
0 0
- 取数游戏
- 矩阵取数游戏
- 取数游戏
- 取数游戏
- 矩阵取数游戏
- 蓝桥杯-取数游戏
- 取数游戏 贪心
- 取数游戏
- 1308 取数游戏
- 取数游戏:
- 矩阵取数游戏
- 取数游戏
- 矩阵取数游戏
- 取数游戏
- 【u108】取数游戏
- 9265:取数游戏
- 取数游戏
- 取数游戏
- 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
- [BZOJ1040][ZJOI2008]骑士(树形dp)
- Linux Mint配置
- cocos-js判断类型
- java IO流
- 取数游戏
- python 爬虫笔记(二)
- 各种语言下程序运行时间的计算(时间间隔)
- java 数组实现栈
- Win7我的电脑图标电击右键添加设备管理器
- ServletContext和ServletConfig
- python自动化测试
- Poj 3686 The Windy's【KM匹配】
- Struts+Hibernate+Spring学习心得(2)Hibernate