Description

在一无限大的二维平面中。我们做例如以下如果: 

1、  每次仅仅能移动一格。 

2、  不能向后走(如果你的目的地是“向上”。那么你能够向左走,能够向右走,也能够向上走。可是不能够向下走); 

3、  走过的格子马上塌陷无法再走第二次; 



求走n步不同的方案数(2种走法仅仅要有一步不一样,即被觉得是不同的方案)。 
 

Input

首先给出一个正整数C。表示有C组測试数据 

接下来的C行。每行包括一个整数n (n<=20)。表示要走n步。 
 

Output

请编程输出走n步的不同方案总数; 

每组的输出占一行。

 

Sample Input

2
1
2
 

Sample Output

3
7

解题思路: 
要分两种情况来考虑。x(n)为向上,y(n)为向左跟向右,a(n)为当前方案数。 
x(n) = x(n-1) + y(n-1);由于向上仅仅有一个方向。
 y(n) = x(n-1) * 2 + y(n-1);
由于之前的向上能够走两个方向。而之前的向左或者向右仅仅能继续依照原来的方向走。由于走过的路会消失。
 a(n) = x(n) + y(n); 
所以能够推出: a(n) = a(n-1) * 2 + x(n-1) = a(n-1) * 2 + a(n-2);


代码例如以下:

#include<cstdio>
int a[30],t,n;
int main() {
a[0]=1;
for(int i=1; i<25; i++) {
for(int j=1; j<=i; j++) {
if(i-j-1>=0) a[i]+=2*a[i-j-1];
else a[i]+=2;
}
a[i]+=a[i-1];
}
scanf("%d",&t);
while(t--) {
scanf("%d",&n);
printf("%d\n",a[n]);
}
return 0;
}


HDU 2563 统计问题 (递推)的更多相关文章

  1. HDU 2563 统计问题(递推)

    题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=2563 将向上移的步数设为a[n],将向左右移的步数设为b[n],有a[n]=a[n-1]+b[n-1 ...

  2. ACM: HDU 2563 统计问题-DFS+打表

    HDU 2563 统计问题 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u HDU 2 ...

  3. HDU 2085 核反应堆 --- 简单递推

    HDU 2085 核反应堆 /* HDU 2085 核反应堆 --- 简单递推 */ #include <cstdio> ; long long a[N], b[N]; //a表示高能质点 ...

  4. HDU 5860 Death Sequence(递推)

    HDU 5860 Death Sequence(递推) 题目链接http://acm.split.hdu.edu.cn/showproblem.php?pid=5860 Description You ...

  5. HDU 2563 统计问题(递归,思维题)

    统计问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  6. HDU - 3336 next运用+递推

    题目的匹配应该也要看成一个文本串与另一个模式串的匹配过程 Text是以当前i结尾的后缀来匹配Pattern的前缀(非真) 这里的Pattern肯定是可以匹配成功的,直接由next来保证(next总是当 ...

  7. hdu 2604 Queuing(dp递推)

    昨晚搞的第二道矩阵快速幂,一开始我还想直接套个矩阵上去(原谅哥模板题做多了),后来看清楚题意后觉得有点像之前做的数位dp的水题,于是就用数位dp的方法去分析,推了好一会总算推出它的递推关系式了(还是菜 ...

  8. HDU 2154 跳舞毯 | DP | 递推 | 规律

    Description 由于长期缺乏运动,小黑发现自己的身材臃肿了许多,于是他想健身,更准确地说是减肥. 小黑买来一块圆形的毯子,把它们分成三等分,分别标上A,B,C,称之为“跳舞毯”,他的运动方式是 ...

  9. hdu 5950 Recursive sequence 递推式 矩阵快速幂

    题目链接 题意 给定\(c_0,c_1,求c_n(c_0,c_1,n\lt 2^{31})\),递推公式为 \[c_i=c_{i-1}+2c_{i-2}+i^4\] 思路 参考 将递推式改写\[\be ...

随机推荐

  1. php计算两个时间相差的天数、小时数、分钟数、秒数

    $startdate="2011-3-15 11:50:00";//开始时间 $enddate="2012-12-12 12:12:12";//结束时间 $da ...

  2. PKI 信息安全三大特性

    [机密性]发送方                                            接收方明文 M                                          ...

  3. 洛谷 P2014 选课 && caioj 1108 树形动态规划(TreeDP)3:选课

    这里的先后关系可以看成节点和父亲的关系 在树里面,没有父亲肯定就没有节点 所以我们可以先修的看作父亲,后修的看作节点 所以这是一颗树 这题和上一道题比较相似 都是求树上最大点权和问题 但这道题是多叉树 ...

  4. [NOI2003]逃学的小孩(树的直径)

    [NOI2003]逃学的小孩 题目描述 Chris家的电话铃响起了,里面传出了Chris的老师焦急的声音:"喂,是Chris的家长吗?你们的孩子又没来上课,不想参加考试了吗?"一听 ...

  5. JDK工具(一)–Java编译器javac

    1.概述    javac.exe: Java编译器,将Java源代码转换成字节码. 2.用法    javac <选项> <源文件> (使用过程中发现,javac <源 ...

  6. Python 调用snmp自定义OID实现监控

    http://kkkkkk.blog.51cto.com/468162/1172726 http://blog.csdn.net/mirahs/article/details/49619729

  7. 欢迎各位技术牛人增加Swift QQ群:343549891

    急招:五年以上Swift开发经验,24个月工资.30天年假.配司机专车. 欢迎各位技术牛人增加Swift 敏捷大拇指 官方QQ群1: 报上"来自CSDN"就可以.谢谢! 訪问 大拇 ...

  8. EF数据迁移命令

    在包管理器控制台中输入命令“enable-migrations”,然后按Enter键!Visual Studio将生成一个名为“Configurations.cs”的文件; 你可以安全地忽略它,但你需 ...

  9. OPENCV(1)

    VS 程序的默认路径是源码所在路径(所以图片应该放在此处),而不是Debug路径   OpenCV 模块结构: core--定义了基本数据结构,包括最重要的Mat和一些其他的模块 imgproc--该 ...

  10. HDU 4847 Wow! Such Doge!

    Wow! Such Doge! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...