Problem 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

思路:

设:第n步的走法为F(n),往上走的步数为a(n),往左或往右走的步数为b(n)
故:F(n)=a(n)+b(n)

由于不能往下走,所以向上走:a(n)=a(n-1)+b(n-1)(前(n-1)步内往上走的步数+前(n-1)步内往左或右的步数)

由于走过的不能返回,所以往左或右走:b(n)=2*a(n-1)+b(n-1)(向上走可以是左上和右上)

综上:F(n)=2*F(n-1)+F(n-2);

Source Program

#include<iostream>
using namespace std;
int main()
{int c,n;int a[21];int i;/*预处理*/a[1]=3;a[2]=7;for(i=3;i<=20;i++)a[i]=2*a[i-1]+a[i-2];cin>>c;while(c--){cin>>n;cout<<a[n]<<endl;}return 0;
}

统计问题(HDU-2563)相关推荐

  1. HDU 2563 统计问题 (DFS + 打表)

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

  2. HDU 2563 统计问题

    关于写这篇文章的原因:觉得很难,但是!!!我竟然做出来了!!!一次AC!我太激动了,所以我想记录一下...我想记录一下我当时的思路与灵感 本题描述: 在一无限大的二维平面中,我们做如下假设: 1. 每 ...

  3. hdu 2563

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

  4. hdu 2563(递推)

    解题思路: 这道题目要求不能回走,而且每个格子只能走一次,那么我就假定他是往上走的(只能上.左.右),那么前n步里,不能够出现←和→,否则就违反了每个格子只能走一次的规定. 1)假设第n步是↑,那么就 ...

  5. hdu 1251 统计难题 (字典树入门题)

    1 /******************************************************* 2 题目: 统计难题 (hdu 1251) 3 链接: http://acm.hd ...

  6. HDU杭电OJ经典100题2000-2099_Java版详细题解(持续更新)

    今年寒假打算用Java把杭电2000-2099全部AC(现在持续更新),如下是题目链接,之后是我的题解,全部做完后我会把所有AC的题解打包上传的 题号 题名 题号 题名 2000 ASCII码排序 2 ...

  7. WPF 让窗口激活作为前台最上层窗口的方法

    在 WPF 中,如果想要使用代码控制,让某个窗口作为当前用户的输入的逻辑焦点的窗口,也就是在当前用户活动的窗口的最上层窗口,默认使用 Activate 方法,通过这个方法在大部分设备都可以做到激活窗口 ...

  8. 杭电OJ分类题目(2)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(2) HDU Water~~~ HDU 100 ...

  9. XUPT—ACM周总

    O - 统计元音 HDU - 2027 注意输入格式 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串. Outp ...

  10. HDU 2566 统计硬币

    统计硬币 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissio ...

最新文章

  1. 剑指offer-链表中倒数第K个结点
  2. 【Android 高性能音频】OboeTester 音频性能测试应用 ( Oboe 输出测试参数 | API 选择 | 音频输出设备选择 | 采样率 | 通道 | 采样格式 | 播放偏好 )
  3. 简述dijkstra算法原理_Dijkstra算法之 Java详解
  4. Oracle用户创建及设置
  5. 实验二——函数重载,快速排序,类对象
  6. linux 声音控制 命令,linux 声音大小调整的命令
  7. 关于使用Tomcat服务器出现413错误的解决办法(Request Entity Too Large)
  8. 远程 mysql error 2003_远程连接MySQL报错ERROR 2003解决办法
  9. VMware12序列号
  10. 计算机附件中小工具使用方法,计算机系统工具的使用方法
  11. 设计模式(Java)——装饰者模式实例之Coffe
  12. Echarts 修改地图的标示
  13. WannaCry 勒索软件
  14. matlab激光扩束总结,激光扩束系统设计(推荐).doc
  15. cad引出线段lisp_利用lisp给CAD直线取整?
  16. 使用app inventor快速开发安卓app(第二课,音乐播放器)
  17. 安装mingw-w64失败解决方法
  18. 一次Wi-Fi入侵实录
  19. S32K系列S32K144学习笔记——LPIT0
  20. 手机远程管理服务器软件,远程控制软件 手机远程管理服务器

热门文章

  1. 怎样教一台计算机区分猫和狗?一文零基础入坑机器学习
  2. 榜单:全球 35 位 35 岁以下科技创新青年
  3. php过去图片宽度,用php调整图片宽高
  4. php版本个版本区别,PHP版本不一样有什么区别
  5. IT = 加班多?外国小哥打破“魔咒”:“每天工作 10 分钟,工资近 9 万美元!”...
  6. 面试官:Netty的线程模型可不是Reactor这么简单
  7. 十年后,你在元宇宙中的一天是什么样?
  8. 为什么说IT科技公司应该留住35岁员工?
  9. 陆奇最新分享:数字化进程加速,创新者如何把握机会?
  10. memcached学习笔记1(windows 7 64bit 环境下安装memcached)