HDU 2047 阿牛的EOF牛肉串 (递推)

阿牛的EOF牛肉串

http://acm.hdu.edu.cn/showproblem.php?pid=2047

Time Limit: 2000/1000 MS (Java/Others)

Memory Limit: 65536/32768 K (Java/Others) 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

12

Sample Output

38

思路见http://blog.csdn.net/lostaway/article/details/5742571

完整代码:

/*0ms,204KB*/

#include<cstdio>  

long long f[40];  

int main()
{
    int i, n;
    f[1] = 3L, f[2] = 8L;
    for (i = 3; i < 40; ++i) f[i] = (f[i - 1] + f[i - 2]) << 1;
    while (~scanf("%d", &n))
        printf("%I64d\n", f[n]);
    return 0;
}

本文URL地址:http://www.bianceng.cn/Programming/sjjg/201410/45513.htm

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索字符串
, 实例
, 杭电
, eof
, 字符
, 杭电acm
, 杭电acm n的阶乘 大数
, acmer
, 整数对 acm
, acm 杭电
, 测试数据实例杭电q+
, 算法杭电
, acm杭电
, 准备
一个
hdu2047、阿牛的eof牛肉串、死亡地带2047、2047年、2047年香港,以便于您获取更多的相关知识。

时间: 2024-10-31 04:27:04

HDU 2047 阿牛的EOF牛肉串 (递推)的相关文章

HDOJ 2047 阿牛的EOF牛肉串

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

【端午小练】HDU2047-阿牛的EOF牛肉串

  阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 19508    Accepted Submission(s): 9119 Problem Description 今年的ACM暑期集训队一共有18人,分为6支队伍.其中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立

递推求解专题练习

hdoj2044--一只小蜜蜂... Problem Description 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数. 其中,蜂房的结构如下所示.   Input 输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50). Output 对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占一行. Sample Input 2 1 2 3 6 Sam

UVa 10049 Self-describing Sequence:自描述序列&amp;amp;二分递推

10049 - Self-describing Sequence Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=34&page=show_problem&problem=990 Solomon Golomb's self­describing sequence is the only non­decreasing

“大整数阶乘”问题的递推算法

/* 标题:<<系统设计师>>应试编程实例-[递推算法程序设计] 作者:成晓旭 时间:2002年09月11日(11:52:00-16:26:00) 实现递推算法的大整数阶乘处理函数 时间:2002年09月16日(18:38:00-20:02:00) 实现"斐波那契数列"问题的递推算法函数 */ //:============================"大整数阶乘"问题的递推算法=========================== #d

UVa 10519 !! Really Strange !! (递推)

10519 - !! Really Strange !! Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1460 思路:注意到题目所说"Every two area have exactly two points to intersect and

c++问题-递推 数的划分问题一

问题描述 递推 数的划分问题一 把正整数N分解成M个正整数的和,即使M个数相同但顺序不同也认为是不同的方案,要求总方案数.如3=1+2跟3=2+1是两个不同的方案

算法--递推策略

递推法是一种重要的数学方法,在数学的各个领域中都有广泛的运用,也是计算机用于数值计算的一个重要算法.这种算法特点是:一个问题的求解需一系列 的计算,在已知条件和所求问题之间总存在着某种相互联系的关系,在计算时,如果可以找到前后过程之间的数量关系(即递推式),那么,从问题出发逐步推到已 知条件,此种方法叫逆推.无论顺推还是逆推,其关键是要找到递推式.这种处理问题的方法能使复杂运算化为若干步重复的简单运算,充分发挥出计算机擅长于重 复处理的特点. 递推算法的首要问题是得到相邻的数据项间的关系(即递推

POJ2229 递推

这题明显递推 但是找了好久才找出来 很明显的是n为奇数的时候 n=n-1的偶数答案一样 n为偶数的时候 答案为 上一个偶数是情况 +1 +1 还有n/2 的情况同一 *2 所以h[n]=h[n-2]+h[n/2] #include <iostream> #include<cstdio> #include<cstring> using namespace std; int d[1000005]; int main() { d[1]=1; d[2]=2; for(int i