(題目**於杭電oj)
problem description
人稱「ac女之殺手」的超級偶像lele最近忽然玩起了深沉,這可急壞了眾多「cole」(lele的粉絲,即"可樂"),經過多方打探,某資深cole終於知道了原因,原來,lele最近研究起了著名的rpg難題:
有排成一行的n個方格,用紅(red)、粉(pink)、綠(green)三色塗每個格仔,每格塗一色,要求任何相鄰的方格不能同色,且首尾兩格也不同色.求全部的滿足要求的塗法.
以上就是著名的rpg難題.
如果你是cole,我想你一定會想盡辦法幫助lele解決這個問題的;如果不是,看在眾多漂亮的痛不欲生的cole女的面子上,你也不會袖手旁觀吧?
input
輸入資料報含多個測試例項,每個測試例項佔一行,由乙個整數n組成,(01
2sample output
3思路:6
類似於爬樓梯的題目,反向思維。
當n>=3時,抓住三個關鍵塊,第乙個方塊,第n個方塊,第n-1個方塊。可以由此推出兩個情況:
1.當第乙個方塊與第n-1個方塊同色時,(此前共有n-2種上色方法,也可理解為還有第n個方塊和第n-1個方塊未上色) 第n個方塊有2種顏色可選。
2.當第乙個方塊與第n-1個方塊不同色時,第n個方塊有且僅有一種顏色可選。
光說可能還是理解不了,上**。
#include
long
long
intfun
(int n)
; fang[1]
=3; fang[2]
=6; fang[3]
=6;for
(int i=
5;i<
51;i++
) fang[i]=2
*fang[i-2]
+fang[i-1]
;//兩種情況相加
return fang[n];}
intmain
(void
)return0;
}
類似的題目:
現有一字串由a,b,c三個字母組成,相鄰的字母不能相同且首尾字母不能相同,現在給出字串中字母長度為n(0 題目 於杭電oj problem description 國慶期間,省城hz剛剛舉行了一場盛大的集體婚禮,為了使婚禮進行的豐富一些,司儀臨時想出了有乙個有意思的節目,叫做 考新郎 具體的操作是這樣的 首先,給每位新娘打扮得幾乎一模一樣,並蓋上大大的紅蓋頭隨機坐成一排 然後,讓各位新郎尋找自己的新娘.... 一.倒推法 例1 儲油點 每次送油到儲存點,因為每次從n 1處出發至n處時都是攜帶500公升油,往返次數越少說明花掉的油最少。int main int k,d k為儲油點位置序號,d為累計終點至當前儲油點的距離 int oil 10 dis 10 儲油點的油量和離終點的距離 int i 輔助變數 k... 題目鏈結 解題思路 暴力法 利用 dfs 遍歷每一條可能的路徑,將遍歷的權值和不斷取餘。不足 當 n m 取較大的情況下,所遍歷的路徑可能會暴增,出現超時的情況。遞推法 從題目上我們可以發現,最終的權值和是要對 mod 取餘的,利用這個特點,我們可以實現遞推。狀態轉移方程 dp i j k dp i...遞推訓練3
基礎演算法之遞推法
基礎演算法題 迷宮(遞推)