踩方格(遞推)

2021-10-02 06:55:24 字數 894 閱讀 3441

【題目描述】

有乙個方格矩陣,矩陣邊界在無窮遠處。我們做如下假設:

a、每走一步時,只能從當前方格移動一格,走到某個相鄰的方格上;

b、走過的格仔立即塌陷無法再走第二次;

c、只能向北、東、西三個方向走;

請問:如果允許在方格矩陣上走n步,共有多少種不同的方案。2種走法只要有一步不一樣,即被認為是不同的方案。

【輸入】

允許在方格上行走的步數n(n≤20)。

【輸出】

計算出的方案數量。

【輸入樣例】

2【輸出樣例】

7感受:

這個題目乍一看思路挺多的,但就是推不出來,其實有的時候缺的就是思維的轉變,想不出來的時候出去跟朋友玩玩就突然發現能相通了。

題目分析:

我們可以把這個題走的方法分為三類,一類是向東走,一類是向西走,還有一類是想北走,用三個陣列來儲存這三個類別的沒一步走法。

設s【n】,e【n】,w【n】分別儲存向北、東、西走第n步的走法。

當n=1時向向北走只有一種走法則s=1.同理e【i】=1,w=1;

當n=2時s=e+w+s;

e=s+e;

w=w+s;

當走到第n步時,則s【n】=e【n-1】+w【n-1】+s【n-1】;

e【n】=s【n-1】+e【n-1】;

w【n】=w【n-1】+s【n-1】;

等於n-1步可以向北(西或東)的步數之和。

則最終步數等於e【n】+w【n】+s【n】

**:

#include

using

namespace std;

intmain()

cout<+e[n]

+s[n]

;return0;

}

踩方格(找規律 遞推)

時間限制 1 sec 記憶體限制 128 mb 提交 8 解決 7 提交 狀態 討論版 命題人 quanxing 有乙個方格矩陣,矩陣邊界在無窮遠處。我們做如下假設 a.每走一步時,只能從當前方格移動一格,走到某個相鄰的方格上 b.走過的格仔立即塌陷無法再走第二次 c.只能向北 東 西三個方向走 請...

基本演算法之遞推 221 踩方格

測試鏈結 總時間限制 1000ms 記憶體限制 65536kb 描述 有乙個方格矩陣,矩陣邊界在無窮遠處。我們做如下假設 a.每走一步時,只能從當前方格移動一格,走到某個相鄰的方格上 b.走過的格仔立即塌陷無法再走第二次 c.只能向北 東 西三個方向走 請問 如果允許在方格矩陣上走n步,共有多少種不...

踩方格 動態規劃,兩種遞推

描述有乙個方格矩陣,矩陣邊界在無窮遠處。我們做如下假設 a.每走一步時,只能從當前方格移動一格,走到某個相鄰的方格上 b.走過的格仔立即塌陷無法再走第二次 c.只能向北 東 西三個方向走 請問 如果允許在方格矩陣上走n步,共有多少種不同的方案。2種走法只要有一步不一樣,即被認為是不同的方案。輸入允許...