HDU 2047 阿牛的EOF牛肉串

来源:互联网 发布:数据挖掘预处理技术 编辑:程序博客网 时间:2024/05/21 09:59
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

--------------------------------------------------------------------------------

简单递推,F[N]=F[N-1]*2+F[N-2]*2

我们考虑第N位时,一共有3种取法,分别是E,O,F,按题意,EF可以看作一个情况,O独立一种情况。

先看EF这种,如果第N位取EF,那么N-1位可以随意取值,均符合题意。F[N-1]即为N-1位有多少种符合题意的取法,所以在第N位取EF的情况下,有2*F[N-1]种。

再看O这种,如果第N位取了O,那么N-1位只能取E和F两种,N-2位可以随意取值均符合题意。所以在这种取法下,有2*F[N-2]种取法。

#include<stdio.h>main(){  long long ans[41];  int n,i;  ans[1]=3;  ans[2]=8;  for(i=3;i<=40;i++)      {                  ans[i]=(ans[i-1]+ans[i-2])*2;      }  while(scanf("%d",&n)!=EOF)       {          printf("%I64d\n",ans[n]);       }}



 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 我的手机被偷了怎么办 医保卡不能用了怎么办 招行u盾丢了怎么办 信用卡刷爆了要怎么办 办分期的卡丢了怎么办 房贷银行卡掉了怎么办 房贷银行卡丢了怎么办? 行驶证丢了怎么办补办 行驶证丢了怎么办异地 浦发信用卡盗刷怎么办 苹果id被盗变砖怎么办 信用卡丢了被刷怎么办 ins注册不了怎么办安卓 偷玩电脑被发现怎么办 做作业不认真的怎么办 老人脑供血不足怎么办 哺乳期吃了辣的怎么办 孕32周胎位臀位怎么办 怀孕32周胎位不正怎么办 7个月胎位不正怎么办 胎心监护老不过怎么办 8个月了胎位不正怎么办 怀孕八个月了胎位不正怎么办 怀孕八个月胎位不正怎么办 欠债的人跑了怎么办 赌博输了100万怎么办 我赌博输了4万怎么办 办80张信用卡怎么办的 19岁负债十几万怎么办 欠了十几万该怎么办 网贷负债十几万怎么办 赌博欠了十几万怎么办 欠了网贷跑了会怎么办 欠银行钱还不起怎么办 欠小额贷款公司的钱还不上怎么办 负债30万没工作怎么办 华为p9耗电太快怎么办 酷派手机反应慢怎么办 网上买手机被骗了怎么办 买手机贵了怎么办12315 在手机店被骗了怎么办