阿牛的EOF牛肉串

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 20247    Accepted Submission(s): 9495

Problem Description
今年的ACM暑期集训队一共同拥有18人。分为6支队伍。当中有一个叫做EOF的队伍,由04级的阿牛、XC以及05级的COY组成。在共同的集训生活中,大家建立了深厚的友谊,阿牛准备做点什么来纪念这段激情燃烧的岁月。想了一想。阿牛从家里拿来了一块上等的牛肉干,准备在上面刻下一个长度为n的仅仅由"E" "O" "F"三种字符组成的字符串(能够仅仅有当中一种或两种字符,但绝对不能有其它字符),阿牛同一时候禁止在串中出现O相邻的情况。他觉得,"OO"看起来就像发怒的眼睛。效果不好。



你,NEW ACMer,EOF的崇拜者。能帮阿牛算一下一共同拥有多少种满足要求的不同的字符串吗?



PS: 阿牛另一个小秘密,就是准备把这个刻有 EOF的牛肉干,作为神奇礼物献给杭电五十周年校庆,能够想象,当校长接过这块牛肉干的时候该有多高兴。这里,请同意我代表杭电的ACMer向阿牛表示感谢!

再次感谢。

 
Input
输入数据包括多个測试实例,每一个測试实例占一行,由一个整数n组成,(0<n<40)。
 
Output
对于每一个測试实例,请输出所有的满足要求的涂法,每一个实例的输出占一行。
 
Sample Input
1
2
 
Sample Output
3
8
 
Author
lcy
思路例如以下:
对于第n项:

当f(n-1)为o时。有两种可能即E,F;

当f(n-1)不是o,时,有三种可能E,O,F;

从图中能够看出:    

f(n-1)为o的情况=f(n-2)-(第n-1,n-2项都为o的情况,即f(n-2)*3-f(n-1))=f(n-1)-2*f(n-2);

f(n-1)不是0的情况=2*f(n-2);

所以:f(n)=2*( f(n-1)-2*f(n-2) )+3*(
2*f(n-2) )

  =2*f(n-1)+2*f(n-2);
难点:
关键是弄清楚递归的规律
代码例如以下:
#include<stdio.h>
int main()
{
int n,i;
__int64 a[66]={0,3,8};//由于后面的数值是直接与n相应的 所以a[0]应该复制为零,而不是三
for(i=3;i<66;i++)
{
a[i]=2*a[i-1]+2*a[i-2];
}
while(~scanf("%d",&n))
{
printf("%I64d\n",a[n]);
}
return 0;
}
//由于牵扯到的数值较大 所以用__int64型

杭电 2047 阿牛的EOF牛肉串 (递推)的更多相关文章

  1. 杭电-------2047阿牛的eof牛肉串(C语言写)

    /* 主要看最后一个是否为O,若为O,则倒数第二个不能为O,则为a[n-2]*1*2; 若不为O,则最后一个有两个选择则为a[n-1]*2 */ #include<stdio.h> ] = ...

  2. 阿牛的EOF牛肉串(递推)

    阿牛的EOF牛肉串 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Sub ...

  3. 杭电oj_2047——阿牛的EOF牛肉串(java实现)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2047 思路:先是列出了四个,但是没发现规律,然后开始画递归树,在其中找到了规律,算出递归式为f(n) ...

  4. hdu 2047 阿牛的EOF牛肉串

    如果末尾加的是E或F,显然是2*a[i-1] 如果末尾加的是O,则末2位一定是EO或FO,则为2*a[i-2]. 然后两者相加 2*a[i-1]+2*a[i-2] = 2*(a[i-1]+a[i-2] ...

  5. 阿牛的EOF牛肉串-记忆化搜索或动态规划

    C - 阿牛的EOF牛肉串 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submi ...

  6. 阿牛的EOF牛肉串[HDU2047]

    阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...

  7. HDU H204 阿牛的EOF牛肉串

    阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  8. T - 阿牛的EOF牛肉串(第二季水)

    Description          今年的ACM暑期集训队一共有18人,分为6支队伍.其中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立了深厚的 ...

  9. 【递推】ZSC1074: 数学、阿牛的EOF牛肉串

    Description 今年的ACM暑期集训队一共有18人,分为6支队伍.其中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立了深厚的友谊,阿牛准备做点 ...

随机推荐

  1. (转)dedecms代码详解 很全面

    dedecms代码研究(1)开篇dedecms 相信大家一定都知道这个cms 系统,功能比较强大,有比较完善的内容发布,还有内容静态化系统,还有就是它有自己独特的标签系统和模板系统.而模板系统也是其他 ...

  2. scrolView

    禁止UIScrollView垂直方向滚动,只允许水平方向滚动 scrollview.contentSize =  CGSizeMake(长度, 0); 禁止UIScrollView水平方向滚动,只允许 ...

  3. ajax调试兼容性

    <script type="text/javascript"> if(typeof ActiveXObject!= 'undefined'){ var x = new ...

  4. 2D简单图形相关算法罗列

    因为平常在Qt开发过程中经常会与一些简单的2D几何图形打交道,因此学习和掌握一些基本的2D几何计算还是很有必要的,在这里罗列一些常用的基本情况,之后会适时补充. [1] 两点之间距离,根据两个点的差值 ...

  5. 在ubuntu14.04上安装oracle java6 java7的方法

    注意: Debian建议安装openjdk,在release包中已包含. oracle的java需要自己安装,安装步骤如下: 1. 首先安装java-package,安装方法:apt-get inst ...

  6. PHP开发套件

    Windows系统下开发 环境配置: PHPstudy----立即下载 开发工具: PHPstorm----立即下载 引用一个注册服务器地址:潘田--phpstorm 2016.1注册码 当然推荐大家 ...

  7. Oracle的Net Configuration Assistant 配置

    在进行团队开发的时候,一般团队的每一个人只需要安装一个客户端即可,没有必要安装一个Oracle 数据库服务器,而数据库服务器是属于共享的,此时,我们就需要配置客户端.客户端的配置可以有以下两种方式:第 ...

  8. 转:/etc/inittab文件的字段及其说明

    /etc/inittab文件中每个登记项的结构都是一样的,共分为以冒号“:”分隔的4个字段.具体如下:       identifier :  run_level  :  action  :  pro ...

  9. c语言用封装来优化程序

    一.基础研究 先对函数fa进行研究,代码如下: fa函数的参数为一个字符指针,他存储要输出的字符串.因为要显示在屏幕的中央位置,所以我们要把字符串放在段地址b800处.用strlen获取字符串的长度, ...

  10. C 编译器错误信息中文翻译

    Ambiguous operators need parentheses 不 明确的运算需要用括号括起 Ambiguous symbol ``xxx`` 不明确的符号 Argument list sy ...