描述
有乙個方格矩陣,矩陣邊界在無窮遠處。我們做如下假設:
a. 每走一步時,只能從當前方格移動一格,走到某個相鄰的方格上;
b. 走過的格仔立即塌陷無法再走第二次;
c. 只能向北、東、西三個方向走;
請問:如果允許在方格矩陣上走n步,共有多少種不同的方案。2種走法只要有一步不一樣,即被認為是不同的方案。
輸入允許在方格上行走的步數n(n <= 20)
輸出計算出的方案數量
樣例輸入
2樣例輸出
7對於n步的所有走法,可以從最後一步出發將他們分為兩種狀態,第一種的最後一步是從下面走上來的,第二種的最後一步是從右邊或是左邊走過來的。這兩種的區別就在於,第一種可以衍生出三種走法,第二種只能衍生出兩種走法。對於n+1步的所有走法來說,它的所有走法便是從n步的所有走法衍生而來的,所以只要找到n步所有走法中第一種走法的個數與與第二種走法的個數便可以計算出n+1步所有走法的個數。而n步第一種走法,便是n-1步所有走法向上走一步衍生而來的,所以n步第一種走法個數等同於n-1步所有走法的個數。而n步第二種走法個數即為走法總數減去第一種走法個數。而n+1步走法總數即為n步第一種走法個數3+n步第二種走法2。設f[n]為走n步走法總數,即可得出f[n]=(f[n-1]-f[n-2])*2+f[n-2]*3,化簡一下,可得f[n]=f[n-1]*2+f[n-2]。千萬不要忘記設定初始值f[0]=1(原地不動也是一種走法),f[1]=3。
搜尋 踩方格
時間限制 1 sec 記憶體限制 128 mb 提交 44 解決 32 提交 狀態 討論版 命題人 quanxing 有乙個方格矩陣,矩陣邊界在無窮遠處。我們做如下假設 a.每走一步時,只能從當前方格移動一格,走到某個相鄰的方格上 b.走過的格仔立即塌陷無法再走第二次 c.只能向北 東 西三個方向走...
踩方格(遞推)
題目描述 有乙個方格矩陣,矩陣邊界在無窮遠處。我們做如下假設 a 每走一步時,只能從當前方格移動一格,走到某個相鄰的方格上 b 走過的格仔立即塌陷無法再走第二次 c 只能向北 東 西三個方向走 請問 如果允許在方格矩陣上走n步,共有多少種不同的方案。2種走法只要有一步不一樣,即被認為是不同的方案。輸...
動態規劃 踩方格
描述 有乙個方格矩陣,矩陣邊界在無窮遠處。我們做如下假設 a.每走一步時,只能從當前方格移動一格,走到某個相鄰的方格上 b.走過的格仔立即塌陷無法再走第二次 c.只能向北 東 西三個方向走 請問 如果允許在方格矩陣上走n步,共有多少種不同的方案。2種走法只要有一步不一樣,即被認為是不同的方案。輸入允...