阿牛的eof牛肉串
problem description
今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛、xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面刻下乙個長度為n的只由"e" 「o」 "f"三種字元組成的字串(可以只有其中一種或兩種字元,但絕對不能有其他字元),阿牛同時禁止在串**現o相鄰的情況,他認為,"oo"看起來就像發怒的眼睛,效果不好。
你,new acmer,eof的崇拜者,能幫阿牛算一下一共有多少種滿足要求的不同的字串嗎?
input
輸入資料報含多個測試例項,每個測試例項佔一行,由乙個整數n組成,(0< n< 40)。
output
對於每個測試例項,請輸出全部的滿足要求的塗法,每個例項的輸出佔一行。
sample input12
sample output38
思路:任意長度 n 中滿足條件的字串 = (長度為 n-1 的 字串總數)* 3 一(長度為 n-1 中字串開頭是 o 的字串總數);
設陣列alleof是滿足條件的字串的個數;
陣列o是 任意長度n 中開頭為 o 的字串的個數
例如:alleof [1]=3 ; o[1] = 1; //長度為1時 有 e 、o、 f 滿足條件,只有乙個 含 o 的字串,
alleof(2) = alleof[1]*3 -o(1) ; o(2) = 2 ; // 長度為2 時有 eeoefe eo fo efofff 滿足條件, 含 o 的字串時 oe of 所以 o(2) = 2;
alleof(3) = alleof(2)*3 -o(3) ; ;
// 長度為3 時有 eee oee fee - eoe foe - efe ofe ffe - eeo feo oeo - efo ofo ffo - eef oef oef - eof fof - eff off fff 滿足條件, 含 o 的字串有 oee ofe oeo ofo oef off 所以 o(3) = 6;
那麼得到遞推公式
o(n) = alleof(n-1) - o(n-1);
alleof(n) = alleof(n-1)*3 - o(n-1);
例子:o(4) = 22 - 6 = 16;
alleof(4) =alleof(3)*3 - o(3); 22 * 3 - 6 = 60
void eof1019
while
(cin >> n)
return0;
}
阿牛的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 三種...