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. Perl模块利用CPAN在线安装自动化

    需要解决2个问题: 1.  如何与CPAN交互:利用perl –MCPAN –e ‘install 模块’ 2.  如何安装指定的版本:作者/模块-版本.tar.gz How to install a ...

  2. 中断函数中不能使用printf的原因

    vxworks 中断处理程序之所以不用printf,本质在于printf是将信息输出到标准输出设备(STDOUT)中, 整个标准输出设备是一个全局变量,由于有semTake操作,那么就会发生阻塞,vx ...

  3. Java中发送http的get、post请求

    近期做项目中,须要把消息通过中间件的形式通过http请求的方式推送给第三方,因此用到了http协议,小编花费了一个多小时.对于http协议中的post和get请求,封装了一个工具类.以下与大家分享一下 ...

  4. hdu(1069)——Monkey and Banana(LIS变形)

    题意: 如今给你n个石块,然后它由坐标来表示(x,y,z).可是它能够有不同的方法,也就是说它的三个坐标能够轮换着来的. 石块的数量不限,可是每次都必须保持上底面的长和宽严格递减,然后问你用这些石块所 ...

  5. 开源项目 AllJoyn 基础服务

    AllJoyn 基础服务主要包含 Onboarding,Notification 和 Control Panel三个大项. 这三个也是编写App的最基础的,最经常使用的部分. Onboarding 提 ...

  6. 数据库中的Convert

    https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql Conversion failed ...

  7. Lesson 1 Basic Concepts: Part 3

    A cheaper option Some people may not want to buy a domain or pay for hosting because they only have ...

  8. js中arguments对象和this对象

    js中arguments对象和this属性 如果不注重复习,花时间准备的材料毫无意义 arguments对象和this对象都是对象 直接来代码 <!DOCTYPE html> <ht ...

  9. MVC ValidateInput(false)页面验证失效的解决方案

    毫无疑问这是一个bug,很多用户升级到rc时都遇到了这个问题,以前很正常的提交只要带有html标签就被报"...从客户端中检测到有潜在危险的 request.form 值."即使在 ...

  10. 【转载】jQuery弹出层始终垂直居中于当前屏幕

    一般网站上肯定有一些弹出框,不论弹出框的大小,都需要他在当前窗口垂直居中.之前手上就有一个jQuery的例子,后来才发现,他只能在第一屏垂直居中,如果滑动滚动条,弹出的框就在上方,不是很方便.请教朋友 ...