HDU ACM 方格移動

2021-08-18 23:11:35 字數 893 閱讀 6533

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

#includeint main()

; int a;

int b;

int i = 2;

for(; i < 100000; i++)

scanf("%d", &a);

//while(scanf("%d", &b)!= eof && b != 0)

while(a--)

return 0;

}

在紙上畫了畫發現你f(n)走的步數不僅和f(n-1)有關,還和f(n-2)有關,從f(n-1)->f(n)的過程中會有f(n-2)個三個方向的,因為從f(n-2)->f(n-1)中每一次都會產生一步向上的,只有向上走下一步才能有三種走法,否則兩種,所以把三次的減去就得到兩次的了,然後依次呼叫下去。

方程是:f(n)=f(n-2)*3+(f(n-1)-f(n-2))*2

acm 方格移動

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

HDU ACM 1253 解題報告

簡單的bfs 注意以下幾點 思路首先分析可走的路的總數是否大於等於最短路徑數 最短路徑數 a b c 2 如果小於怎樣都無法到達出口 所以可以直接輸出 1,還有總的時間數小於最短時間 最短時間數 a b c 2 也是無法到達出口,除去以上情況 然後使用bfs進行搜尋就可以了 如果想看 論壇有我就不貼...

HDU ACM 2549 壯志難酬

problem description 話說mca山上各路豪傑均出山抗敵,去年曾在江湖威名顯赫的,江湖人稱 萬軍中取上將首級捨我其誰 的甘露也不甘示弱,天將降大任於斯人也,必先勞其筋骨,餓其體膚,空乏其身 他說。可惜,由於去年取上將首級時不慎右手右關節第七次骨折,養傷達一年之久,空有一腔抱負卻壯志難...