題目描述
今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛、xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面刻下乙個長度為n的只由"e" "o" "f"三種字元組成的字串(可以只有其中一種或兩種字元,但絕對不能有其他字元),阿牛同時禁止在串中出現o相鄰的情況,他認為,"oo"看起來就像發怒的眼睛,效果不好。
你,new acmer,eof的崇拜者,能幫阿牛算一下一共有多少種滿足要求的不同的字串嗎?
輸入 輸入資料報含多個測試例項,每個測試例項佔一行,由乙個整數n組成,(0輸出
對於每個測試例項,請輸出全部的滿足要求的塗法,每個例項的輸出佔一行。
樣例輸入
12
樣例輸出
38
當n小於等於2的時候直接算,
可以根據第n-2層的個數推出最後一層o的個數,
第n-1層可以推出ef的個數。
#include #define ll long long
const int maxn = 55;
ll ans[maxn], sum[maxn];
/*遞推式:
ans[1] = 3, ans[2] = 8
ans[n] = 2*( ans[n-2]+ans[n-1] ) ( n > 2 )
第n-2層推出n層o的個數為2*ans[n-2]
第n-1層可以推出n層ef的個數2*ans[n-1]
另外一種就是儲存上一層的ef和o的個數,然後算出來就行
*/int main ( )
int n;
while ( ~ scanf ( "%d", &n ) )
printf ( "%lld\n", ans[n] );
return 0;
}
阿牛的EOF牛肉串
problem description 今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛 xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面...
阿牛的EOF牛肉串
今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛 xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面刻下乙個長度為n的只由 e o f 三種...
阿牛的EOF牛肉串
阿牛的eof牛肉串 problem description 今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛 xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等...