阿牛的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. Web学习资源及手册查询整理

    入门了解html.css.js.jQuery:http://www.w3school.com.cn/, bootstrap.nodejs.php.jQuery入门:http://www.runoob. ...

  2. hibernate_validator_09

    创建自己的约束规则 尽管Bean Validation API定义了一大堆标准的约束条件, 但是肯定还是有这些约束不能满足我们需求的时候, 在这种情况下, 你可以根据你的特定的校验需求来创建自己的约束 ...

  3. 『重构--改善既有代码的设计』读书笔记----Inline Temp

    与Inline Method相同,有时候犹豫需要Extract Method,需要对一些临时变量进行内联,而这个往往是Replace Temp with Query的一部分.简单来说,当你看到这种 d ...

  4. C++学习笔记7——模板

    函数模板: #include <iostream> using namespace std; template <typename T> T max(const T & ...

  5. bzoj2534: Uva10829L-gap字符串

    Description 有一种形如uvu形式的字符串,其中u是非空字符串,且V的长度正好为L,那么称这个字符串为L-Gap字符串 给出一个字符串S,以及一个正整数L,问S中有多少个L-Gap子串. I ...

  6. cms中if标签的使用

    <#if order.EnFriendly ?? && order.EnFriendly==1> <td class="text-center"& ...

  7. IOS--UIDatePicker 时间选择器 的使用方法详细

    IOS--UIDatePicker 时间选择器 的使用方法详细 // 主要有下面四种类型:   // 日期显示. // 日期和时间显示. // 时间显示. // 倒计时选择       // UIDa ...

  8. could only be replicated to 0 nodes, instead of 1

    周末机房断电,然后hadoop爆出如题的错误,解决方案就是关闭所有节点的防火墙,相关命令如下: 查看防火墙状态: /etc/init.d/iptables status 暂时关闭防火墙: /etc/i ...

  9. CentOS下编译安装Gcc-4.9

    给公司测试服务器搭环境,手工安装gcc-4.9.0颇费功夫,记录如下. 1.安装gcc.g++,系统源默认安装版本为4.4.7: 2.安装依赖包GMP.MPFR.MPC,注意安装顺序: 3.修改动态库 ...

  10. 7.3.2 Using Backups for Recovery 使用备份用于恢复

    7.3.2 Using Backups for Recovery 使用备份用于恢复 现在,假设我们有一个灾难性的crash 在星期三上午8点. 需要恢复从备份恢复,为了恢复,我们首选需要恢复最近的全备 ...