阿牛的EOF牛肉串

2021-07-08 12:55:11 字數 1008 閱讀 3927

題目描述

今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛、xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面刻下乙個長度為n的只由"e" "o" "f"三種字元組成的字串(可以只有其中一種或兩種字元,但絕對不能有其他字元),阿牛同時禁止在串中出現o相鄰的情況,他認為,"oo"看起來就像發怒的眼睛,效果不好。

你,new acmer,eof的崇拜者,能幫阿牛算一下一共有多少種滿足要求的不同的字串嗎?

輸入 輸入資料報含多個測試例項,每個測試例項佔一行,由乙個整數n組成,(0輸出

對於每個測試例項,請輸出全部的滿足要求的塗法,每個例項的輸出佔一行。

樣例輸入

1

2

樣例輸出

3

8

當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組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等...