藍橋杯真題 第39階台階

2021-07-28 08:27:17 字數 882 閱讀 5155

題目描述

第39階台階

小明剛剛看完電影《第39級台階》,離開電影院的時候,他數了數禮堂前的台階數,恰好是39級!

站在台階前,他突然又想著乙個問題:

如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多

少種不同的上法呢?

請你利用計算機的優勢,幫助小明尋找答案。

要求提交的是乙個整數。

注意:不要提交解答過程,或其它的輔助說明文字

思路:這題有2種方法,一種是dfs,一種是dp方法,dfs比較容易理解。

dp:

轉移方程:dp[i][j] = dp[i-1][j^1] + dp[i-2][j^1].代表走到第i個台階是j腳的方法數(j只有0和1,0代表左腳,1代表右腳)

值初始化:dp[1][0] =dp[2][0]=dp[2][1]=1;

dp

#include

int dp[40][2];

int main()

dfs

#include

int dfs(int step,int foot)else

if(step>39)return

0; return dfs(step+1,foot+1)+dfs(step+2,foot+1);

}int main()

第39階台階 藍橋杯

內容 2013年第四屆藍橋杯全國軟體大賽預賽第三題。該情景可簡化為39與0和1的關係問題,還有乙個限制條件,一共要走偶數步。這道題可以有兩種思路,遞迴與排列組合,都不長,重在思考過程。include int n 0 int fun int r,int s if r 0 s 2 0 for int i...

藍橋杯 第39階台階

小明剛剛看完電影 第39級台階 離開電影院的時候,他數了數禮堂前的台階數,恰好是39級 站在台階前,他突然又想著乙個問題 如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多少種不同的上法呢?請你利用計算機的優勢,幫助小明尋...

藍橋杯 第39階台階

見證自己的成長 小明剛剛看完電影 第39級台階 離開電影院的時候,他數了數禮堂前的台階數,恰好是39級 站在台階前,他突然又想著乙個問題 如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多少種不同的上法呢?請你利用計算機的...