HDU oj 2045 不容易系列之RPG問題

2022-06-12 07:24:10 字數 1329 閱讀 7954

problem description

有排成一行的n個方格,用紅(red)、粉(pink)、綠(green)三色塗每個格仔,每格塗一色,

要求任何相鄰的方格不能同色,且首尾兩格也不同色.求全部的滿足要求的塗法.

以上就是著名的rpg難題.

input

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

output

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

sample input12

sample output3 6

分析:又是典型的遞迴問題:

最後乙個格仔的塗色除了不能和第乙個格仔一樣,它還受到第n-1個格仔的制約,

有以下兩種情況:

①第n-1個格仔和第乙個格仔顏色一樣,則最後乙個格仔有兩種選擇,

而第n-2個格仔由於不會和第n-1個格仔顏色一樣,所以這種情況下,總共有2*f(n-2)種情況

②第n-1個格仔和第乙個格仔顏色不一樣,則最後乙個格仔只能有一種選擇,

而第n-1個格仔的顏色滿足要求,所以這種情況下,總共有f(n-1)種情況

所以綜上所述,總的塗法為:f(n)=f(n-1)+2*f(n-2)  (n>=4)

注意點:

後面資料可能有點大,最好用64bit儲存

1

//遞迴解法,但不是遞迴寫法2//

遞迴寫起來可能會超時

3 #include4

using

namespace

std;56

intmain()

728 cout30}

31 }

problem description

人稱「ac女之殺手」的超級偶像lele最近忽然玩起了深沉,這可急壞了眾多「cole」(lele的粉絲,即"可樂"),經過多方打探,某資深cole終於知道了原因,原來,lele最近研究起了著名的rpg難題:

有排成一行的n個方格,用紅(red)、粉(pink)、綠(green)三色塗每個格仔,每格塗一色,要求任何相鄰的方格不能同色,且首尾兩格也不同色.求全部的滿足要求的塗法.

以上就是著名的rpg難題.

如果你是cole,我想你一定會想盡辦法幫助lele解決這個問題的;如果不是,看在眾多漂亮的痛不欲生的cole女的面子上,你也不會袖手旁觀吧?

input

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

output

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

sample input12

sample output36

不容易系列

題目描述 你活的不容易,我活的不容易,他活的也不容易。不過,如果你看了下面的故事,就會知道,有位老漢比你還不容易。重慶市郊黃泥板村的徐老漢 大號徐東海,簡稱xdh 這兩年辛辛苦苦養了不少羊,到了今年夏天,由於眾所周知的高溫乾旱,實在沒辦法解決牲畜的飲水問題,就決定把這些羊都趕到集市去賣。從黃泥板村到...

不容易系列之 1

大家常常感慨,要做好一件事情真的不容易,確實,失敗比成功容易多了!做好 一件 事情尚且不易,若想永遠成功而總從不失敗,那更是難上加難了,就像花錢總是比掙錢容易的道理一樣。話雖這樣說,我還是要告訴大家,要想失敗到一定程度也是不容易的。比如,我高中的時候,就有乙個神奇的女生,在英語考試的時候,竟然把40...

1 4 hduoj 2042 不容易系列之二

problem description 你活的不容易,我活的不容易,他活的也不容易。不過,如果你看了下面的故事,就會知道,有位老漢比你還不容易。重慶市郊黃泥板村的徐老漢 大號徐東海,簡稱xdh 這兩年辛辛苦苦養了不少羊,到了今年夏天,由於眾所周知的高溫乾旱,實在沒辦法解決牲畜的飲水問題,就決定把這些...