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種走法只要有一步不一樣,即被認為是...