題目描述第39階台階
小明剛剛看完電影《第39級台階》,離開電影院的時候,他數了數禮堂前的台階數,恰好是39級!
站在台階前,他突然又想著乙個問題:
如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多
少種不同的上法呢?
請你利用計算機的優勢,幫助小明尋找答案。
要求提交的是乙個整數。
注意:不要提交解答過程,或其它的輔助說明文字
思路:這題有2種方法,一種是dfs,一種是dp方法,dfs比較容易理解。dpdp:
轉移方程: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;
#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級台階,有多少種不同的上法呢?請你利用計算機的...