小明參加了學校的趣味運動會,其中的乙個專案是:跳格仔。
地上畫著一些格仔,每個格仔裡寫乙個字,如下所示:
從我做起振
我做起振興
做起振興中
起振興中華
比賽時,先站在左上角的寫著「從」字的格仔裡,可以橫向或縱向跳到相鄰的格仔裡,但不能跳到對角的格仔或其它位置。一直要跳到「華」字結束。
要求跳過的路線剛好構成「從我做起振興中華」這句話。
請你幫助小明算一算他一共有多少種可能的跳躍路線呢?
這道題要我們列舉所有的可能,列舉有兩種方法:遞迴和迭代。
這道題用遞迴做較簡單,遞迴有三個要素:
找重複,利用重複不斷減小問題的規模;
找變化,變化的狀態量就是遞迴的引數;
找出口,判斷什麼可以退出遞迴。
觀察題目,其實在每個格仔上時都只能向下走或者向右走,在當前格仔上有兩種走法;而當到達邊界處時,比如走到最下面一行格仔或者最右邊一列格仔時,只能一路向右走,這時從當前格仔走到最後只能有一種走法。
//藍橋杯 題目:振興中華
#include
using
namespace std;
intf
(int x,
int y)
//座標改變(找變化)
intmain()
本文參考:
該種題,每個不是最後一行最後一列的時候才有一種可能
觀察題目,會發現每個格仔都只能向右,或者向下走,只有兩種可能
用遞迴解,將問題規模不斷縮小
藍橋杯之振興中華
請你幫助小明算一算他一共有多少種可能的跳躍路線呢?分析 本可以使用簡單的深搜的方法,為了避免程式中出現數字,我這裡用1 8分別代表 從我做起振興中華 八個字,然後題目就轉化成走過的路徑構成 12345678 數字串,這樣的好處是我們在當前的路徑節點上,只要向右或者向下檢視下乙個相鄰節點的數字是不是當...
藍橋杯 振興中華
小明參加了學校的趣味運動會,其中的乙個專案是 跳格仔。地上畫著一些格仔,每個格仔裡寫乙個字,如下所示 也可參見p1.jpg 從我做起振 我做起振興 做起振興中 起振興中華 比賽時,先站在左上角的寫著 從 字的格仔裡,可以橫向或縱向跳到相鄰的格仔裡,但不能跳到對角的格仔或其它位置。一直要跳到 華 字結...
藍橋杯 振興中華
7.振興中華 問題描述 小明參加了學校的趣味運動會,其中的乙個專案是 跳格仔。地上畫著一些格仔,每個格仔裡寫乙個字,如下所示 也可參見下圖 從我做起振 我做起振興 做起振興中 起振興中華 比賽時,先站在左上角的寫著 從 字的格仔裡,可以橫向或縱向跳到相鄰的格仔裡,但不能跳到對角的格仔或其它位置。一直...