今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛、xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面刻下乙個長度為n的只由"e" "o" "f"三種字元組成的字串(可以只有其中一種或兩種字元,但絕對不能有其他字元),阿牛同時禁止在串中出現o相鄰的情況,他認為,"oo"看起來就像發怒的眼睛,效果不好。
你,new acmer,eof的崇拜者,能幫阿牛算一下一共有多少種滿足要求的不同的字串嗎?
ps: 阿牛還有乙個小秘密,就是準備把這個刻有 eof的牛肉乾,作為神秘禮物獻給杭電五十周年校慶,可以想象,當校長接過這塊牛肉乾的時候該有多高興!這裡,請允許我代表杭電的acmer向阿牛表示感謝!
再次感謝!
input
輸入資料報含多個測試例項,每個測試例項佔一行,由乙個整數n組成,(0
output
對於每個測試例項,請輸出全部的滿足要求的塗法,每個例項的輸出佔一行。
sample input
12
sample output
38
這種題就是資料很難計算,直接計算會超級麻煩,但是他又有小的結構,我們又可以遞推關係式。
還有就是對於這樣的資料,我們盡量用long long 型的資料,結果可能超級大,注意這點
我們當前位如果放置o的話,那我們可以確定我們的前一位只能放e或f(o不能相連),那前面的我們就不用管了。如果我們當前位放置e或f的話,那麼之前的我們就不用管了。所以我們得出遞推關係式為
:f(n) = 2*f(n-1) + 2*f(n-2);
那我們想它不應該是放在前面和放在後面麼,那我們是不是應該再*2呢?
乙個是我們知識控制當前位,以當前位來分類。我們的分類是清晰的。明白這一點,我們的當前位是加在前面已經存在的後面的,所以我們自然不需要管。
#include#includeusing namespace std;
typedef long long ll;
ll sum[45];
void initial()
int main()
return 0;
}
阿牛的EOF牛肉串
題目描述 今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛 xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面刻下乙個長度為n的只由 e o...
阿牛的EOF牛肉串
problem description 今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛 xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面...
阿牛的EOF牛肉串
今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛 xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面刻下乙個長度為n的只由 e o f 三種...