1. 程式人生 > >藍橋杯:第三十九級臺階

藍橋杯:第三十九級臺階


題目標題: 第39級臺階

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

    站在臺階前,他突然又想著一個問題:

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


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

要求提交的是一個整數。
注意:不要提交解答過程,或其它的輔助說明文字。

Thinking:

典型遞推,由於題目跨步種樹較少只有1步和2步兩種,所以應該從第三級臺階開始遞推,若第三級用左腳踏,則之前用的腳肯定是右腳,反之同理.則有遞推關係:

stage[i][0]=stage[i-1][1]+stage[i-2][1] (i>=3)//二維陣列stage[i][0]代表在第i階臺階上踩著的是左腳,stage[i][1]...右腳.

stage[i][1]=stage[i-1][0]+stage[i-2][0] (i>=3)

易知,有初始狀態:

 stage[1][LEFT]=1;
 stage[1][RIGHT]=0;
 stage[2][LEFT]=1;
 stage[2][RIGHT]=1;

#include<iostream>
#define LEFT 0
#define RIGHT 1
using namespace std;
int stage[40][2]; 
int main()
{
	int i;
	stage[1][LEFT]=1;
	stage[1][RIGHT]=0;
	stage[2][LEFT]=1;
	stage[2][RIGHT]=1;
	for(i=3;i<=39;i++)
	{
		stage[i][LEFT]=stage[i-1][RIGHT]+stage[i-2][RIGHT];
		stage[i][RIGHT]=stage[i-1][LEFT]+stage[i-2][LEFT];
	}
	cout<<stage[39][RIGHT]<<endl;
	return 0;
}

相關推薦

藍橋:臺階

題目標題: 第39級臺階     小明剛剛看完電影《第39級臺階》,離開電影院的時候,他數了數禮堂前的臺階數,恰好是39級!     站在臺階前,他突然又想著一個問題:     如果我每一步只能邁上1個或2個臺階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走

臺階(遞迴遍歷搜尋)

 題目要求: 標題: 第39級臺階     小明剛剛看完電影《第39級臺階》,離開電影院的時候,他數了數禮堂前的臺階數,恰好是39級!     站在臺階前,他突然又想著一個問題:     如果我每一步

臺階

題目描述:  第39級臺階 小明剛剛看完電影《第39級臺階》,離開電影院的時候,他數了數禮堂前的臺階數,恰好是39級!站在臺階前,他突然又想著一個問題: 如果我每一步只能邁上1個或2個臺階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級臺

臺階(回溯)

題目標題: 第39級臺階 小明剛剛看完電影《第39級臺階》,離開電影院的時候,他數了數禮堂前的臺階數,恰好是39級! 站在臺階前,他突然又想著一個問題: 如果我每一步只能邁上1個或2個臺階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39

Android Studio期 - popWindows置頂

android windows systems power always /** * Window type: system window, such as low power alert. These windows * are always on top of application

AGG課 rasterizer_scanline_aa畫線函數疑惑

agg rasterizer_scanline_aa頭文件#include<agg_rasterizer_scanline_aa.h>類型template<class Clip =rasterizer_sl_clip_int>class rasterizer_scanline_aa

C++筆記 課 逗號操作符的分析---狄泰學院

如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第三十九課 逗號操作符的分析 1.逗號操作符 逗號操作符(,)可以構成逗號表示式 逗號表示式用於將多個子表示式連線為一個表示式 逗號表示式的值為最後一個子表示式的值 逗號表示

課預習任務

1.grains 1.2 saltstack – 自定義grains 2.pillar 3.安裝配置httpd 4.配置管理檔案 5.配置管理目錄 6.配置管理遠端命令 7.配置管理計劃任務 8.saltstack – 其它可能會用到的命令 9.salt-ssh使

“全棧2019”Java章:建構函式、構造方法、構造器

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第三十九章:建構函式、構造方法、構造器 下一章 “全棧2019”Java第四十章:this關

“全棧2019”Java章:構造函數、構造方法、構造器

語言 tel https 全棧 工程師 alt 頭條 時間 公眾 難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文鏈接 “全棧2019”Java第三十九章:構造函數、構造

Scrum立會報告+燃盡圖(十二月八日總次):制定視訊方案

此作業要求參見:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2284 專案地址:https://git.coding.net/zhangjy982/QuJianBang.git Scrum立會master:田良   一、小組介紹

八屆藍橋

標題:承壓計算 X星球的高科技實驗室中整齊地堆放著某批珍貴金屬原料。 每塊金屬原料的外形、尺寸完全一致,但重量不同。 金屬材料被嚴格地堆放成金字塔形。 7

講專案4——輸入一個正整數,判斷其是否為一個迴文數

程式程式碼 #include <stdio.h> #include <stdlib.h> /* *csdn學院--2016級 *目的:讓程式碼見證成長(作為一個初學的菜鳥,如

講專案5——阿姆斯特朗數

程式程式碼 #include <stdio.h> #include <stdlib.h> /* *csdn學院--2017級 *目的:讓程式碼見證成長(作為一個初學的菜鳥,如

講專案 求3000以內的全部親密數

1.任務和程式碼/* copyright\c)2017,csdn學院 *All cights reserved *檔名稱:a.c *作者:王琦 *完成日期:2017年4月23日 *版本號:6.0 *問題描述:求3000以內

講 遞迴

遞迴是一種程式設計思想,對於我這種愚人來說,理解起來實在是夠費勁的,可以這樣說,至今為止,我依然不懂遞迴,也只是對它有一點粗略的、表面的瞭解,實在是慚愧! 遞迴的概述 遞迴就是函式自身呼叫自身,即函式內部又使用到了該函式功能。雖然知道是這麼一個意思,但一寫程式碼

篇:IOS核心高階動畫 Core Animation、Core Graphics

一、 CALayer < CAMediaTiming > 圖層: 1. 圖層屬性及功能介紹: 1)contents :id 型別, 內容顯示。 在ARC環境下使用: = (__bridge id)image.CGImage; 在MRC環境下使用

“全棧2019”Java多線程章:顯式鎖實現生產者消費者模型

href write 聲明 分享圖片 全棧工程師 tel 技術 我們 更多 難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文鏈接 “全棧2019”Java多線程第三十九章

【WPF學習】章 理解形狀

  在WPF使用者介面中,繪製2D圖形內容的最簡單方法是使用形狀(shape)——專門用於表示簡單的直線、橢圓、矩形以及多變形的一些類。從技術角度看,形狀就是所謂的繪圖圖元(primitive)。可組合這些基本元素來建立更復雜的圖形。   關於WPF中形狀的重要細節是,它們都繼承自Fr

藍橋題 博弈論

%d 初始化 錯誤 color lib 多少 失敗 urn log 今盒子裏有n個小球,A、B兩人輪流從盒中取球,每個人都可以看到另一個人取了多少個,也可以看到盒中還剩下多少個,並且兩人都很聰明,不會做出錯誤的判斷。 我們約定: 每個人從