遞推練習1 HDU 2047

2021-08-27 13:10:04 字數 952 閱讀 8309

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

output

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

sample input

1 2 

sample output

3 8 

author

lcyarr[i] 表示總的方案數,oo[i] 表示以o結尾的方案數。

oo[i] = arr[i-1] - oo[i-1]; //上一次不是以o結尾的,都會出現o一次。

#include #include using namespace std;

__int64 arr[50] = ,oo[50]=;

int n;

int main()

while(scanf("%d", &n) != eof)

return 0;

}

HDU 2047 阿牛的EOF牛肉串 (遞推)

一看到這道題,很明顯是排列組合問題,我就回想高中時老師講的各種方法,明顯正的求不好求,於是求反著的,最後拿總情況減掉不符合的,我各種方法都用上了,什麼擋板法 法等,可是情況太多了,越求越亂。在一想高中做的排列組合題大都給的是乙個確定的數值,而這裡給的是n,看了題解才明白用的是遞推的方法,類似於斐波那...

HDU 2047 阿牛的EOF牛肉串 遞推

今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛 xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面刻下乙個長度為n的只由 e o f 三種...

hdu2047 阿牛的EOF牛肉串 遞推

problem description 今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛 xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面...