大家好,又见面了,我是全栈君。
阿牛的EOF牛肉串
你,NEW ACMer,EOF的崇拜者。能帮阿牛算一下一共同拥有多少种满足要求的不同的字符串吗?
PS: 阿牛另一个小秘密,就是准备把这个刻有 EOF的牛肉干,作为神奇礼物献给杭电五十周年校庆,能够想象,当校长接过这块牛肉干的时候该有多高兴。这里,请同意我代表杭电的ACMer向阿牛表示感谢!
再次感谢。
1 2
3 8
当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)
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型
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115676.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...