problem description
在一無限大的二維平面中,我們做如下假設:
1、 每次只能移動一格;
2、 不能向後走(假設你的目的地是「向上」,那麼你可以向左走,可以向右走,也可以向上走,但是不可以向下走);
3、 走過的格仔立即塌陷無法再走第二次;
求走n步不同的方案數(2種走法只要有一步不一樣,即被認為是不同的方案)。
input
首先給出乙個正整數c,表示有c組測試資料
接下來的c行,每行包含乙個整數n (n<=20),表示要走n步。
output
請程式設計輸出走n步的不同方案總數;
每組的輸出佔一行。
sample input
2 12
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山上各路豪傑均出山抗敵,去年曾在江湖威名顯赫的,江湖人稱 萬軍中取上將首級捨我其誰 的甘露也不甘示弱,天將降大任於斯人也,必先勞其筋骨,餓其體膚,空乏其身 他說。可惜,由於去年取上將首級時不慎右手右關節第七次骨折,養傷達一年之久,空有一腔抱負卻壯志難...