hdu 統計問題 遞推

2021-07-15 12:07:48 字數 700 閱讀 2284

problem description

在一無限大的二維平面中,我們做如下假設:

1、 每次只能移動一格;

2、 不能向後走(假設你的目的地是「向上」,那麼你可以向左走,可以向右走,也可以向上走,但是不可以向下走);

3、 走過的格仔立即塌陷無法再走第二次;

求走n步不同的方案數(2種走法只要有一步不一樣,即被認為是不同的方案)。

input

首先給出乙個正整數c,表示有c組測試資料

接下來的c行,每行包含乙個整數n (n<=20),表示要走n步。

output

請程式設計輸出走n步的不同方案總數;

每組的輸出佔一行。

sample input

2 1

2 sample output

3 7

思路:這題我剛開始用bfs做的,不過潮記憶體了,後來發現可以遞推做;

因為n+1時都可以往兩個方向或者三個方向;三個方向是為n時向上的狀態;為n時有多少個向上的狀態?當n-1有多少狀態,n就有多少個向上的狀態;所以遞推公式為a[n]=2*a[n-1]+a[n-2];

**:

#include

int main()

int n,t;

scanf("%d",&t);

while(t--)

}

統計問題 遞推

題目的解法 設ans n 為走n步的所有不同走法 up n 為第n步是向上時的所有不同走法 left n 為第n步是向左時的所有不同走法 right n 為第n步是向右時的所有不同走法。則有以下遞推關係 up n up n 1 left n 1 right n 1 left n up n 1 lef...

HDU 2563 統計問題(簡單遞推 模擬)

本題可以找規律也可以模擬出來過程,在這裡給出兩種解法。第一種 模擬過程 首先看走一步,兩步,三步時的情況。走第一步 向上 種,向左 種,向右 種。第二步 向上 種,向左 種,向右 種 第三步 向上 種,向左 種,向右 種。不知道機智的你有沒有發現規律。下面再來解釋一下,前一步向上,向左,或向右走的,...

HDU2563 統計問題

problem description 在一無限大的二維平面中,我們做如下假設 1 每次只能移動一格 2 不能向後走 假設你的目的地是 向上 那麼你可以向左走,可以向右走,也可以向上走,但是不可以向下走 3 走過的格仔立即塌陷無法再走第二次 求走n步不同的方案數 2種走法只要有一步不一樣,即被認為是...