4 藍橋杯之振興中華

2021-10-02 09:23:04 字數 864 閱讀 1300

小明參加了學校的趣味運動會,其中的乙個專案是:跳格仔。

地上畫著一些格仔,每個格仔裡寫乙個字,如下所示:

從我做起振

我做起振興

做起振興中

起振興中華

比賽時,先站在左上角的寫著「從」字的格仔裡,可以橫向或縱向跳到相鄰的格仔裡,但不能跳到對角的格仔或其它位置。一直要跳到「華」字結束。

要求跳過的路線剛好構成「從我做起振興中華」這句話。

請你幫助小明算一算他一共有多少種可能的跳躍路線呢?

這道題要我們列舉所有的可能,列舉有兩種方法:遞迴和迭代。

這道題用遞迴做較簡單,遞迴有三個要素:

找重複,利用重複不斷減小問題的規模;

找變化,變化的狀態量就是遞迴的引數;

找出口,判斷什麼可以退出遞迴。

觀察題目,其實在每個格仔上時都只能向下走或者向右走,在當前格仔上有兩種走法;而當到達邊界處時,比如走到最下面一行格仔或者最右邊一列格仔時,只能一路向右走,這時從當前格仔走到最後只能有一種走法。

//藍橋杯 題目:振興中華

#include

using

namespace std;

intf

(int x,

int y)

//座標改變(找變化)

intmain()

本文參考:

該種題,每個不是最後一行最後一列的時候才有一種可能

觀察題目,會發現每個格仔都只能向右,或者向下走,只有兩種可能

用遞迴解,將問題規模不斷縮小

藍橋杯之振興中華

請你幫助小明算一算他一共有多少種可能的跳躍路線呢?分析 本可以使用簡單的深搜的方法,為了避免程式中出現數字,我這裡用1 8分別代表 從我做起振興中華 八個字,然後題目就轉化成走過的路徑構成 12345678 數字串,這樣的好處是我們在當前的路徑節點上,只要向右或者向下檢視下乙個相鄰節點的數字是不是當...

藍橋杯 振興中華

小明參加了學校的趣味運動會,其中的乙個專案是 跳格仔。地上畫著一些格仔,每個格仔裡寫乙個字,如下所示 也可參見p1.jpg 從我做起振 我做起振興 做起振興中 起振興中華 比賽時,先站在左上角的寫著 從 字的格仔裡,可以橫向或縱向跳到相鄰的格仔裡,但不能跳到對角的格仔或其它位置。一直要跳到 華 字結...

藍橋杯 振興中華

7.振興中華 問題描述 小明參加了學校的趣味運動會,其中的乙個專案是 跳格仔。地上畫著一些格仔,每個格仔裡寫乙個字,如下所示 也可參見下圖 從我做起振 我做起振興 做起振興中 起振興中華 比賽時,先站在左上角的寫著 從 字的格仔裡,可以橫向或縱向跳到相鄰的格仔裡,但不能跳到對角的格仔或其它位置。一直...