杭電 2047 阿牛的EOF牛肉串

2022-03-20 22:13:03 字數 551 閱讀 4276

題目描述:

有乙個有字元e、o、f組成,長度為n的字串,字元可重複,但是不能出現字元o與o相鄰的情況,

給定字元長度n,問符合要求的字串總共有多少種?

解題思路:

設長度為n符合要求的字串種數為f(n),這其中可分為兩類:一類是以e或者f結尾的,另一類是以o結尾的。以e或者f結尾、長度為n、符合要求的字串**於以三種字元中的任何字元結尾長度為n-1符合要求的字串後加乙個字元e或者f,這樣第一類的種數就是 f(n-1)*2;而以字元o結尾、長度為n、符合要求的字串**於以e或者f結尾、長度為n-1、符合要求的字串後直接加乙個字元o,而以e或者f結尾、長度為n-1、符合要求的字串**於以三種字元中的任何字元結尾、長度為n-2、符合要求的字串後直接加乙個字元e或者f,這一類的種數就是2*f(n-2),

綜上所述,f(n) = 2 * ( f(n-1) + f(n-2) );

c語言**如下:

#include #define maxn 45

intmain()

return0;

}

view code

杭電2047 阿牛的EOF牛肉串(遞推)

杭電2047 題目大意 eof三個字元排列,要求不出現連續的o字元。可以這樣考慮,對於第n個字元 1.如果該字元為o,第n 1個字元只有兩種選擇 e f 即有f n 2 2種情況 2.如果該字元非o,則該字元位,即第n個字元有兩種選擇 e f 即有f n 1 2種情況。得到遞推式 f x 1 2 f...

HDU 2047 阿牛的EOF牛肉串

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

HDU 2047 阿牛的EOF牛肉串

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