oj結題報告 4982踩方格

2022-05-29 06:54:11 字數 1026 閱讀 7105

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

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

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

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

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

允許在方格上行走的步數n(n <= 20)

計算出的方案數量

樣例輸入

2樣例輸出

7

這道題乍一看沒有思路,因為搜尋太慢,dp又看不出明顯的遞推關係。因此我們先用紙筆模擬一下:

不妨嘗試分類討論的思想。用dp[i]表示還剩i步時有的方法,顯然dp[0] = 1。因為不能向南走,也不能走原來走過的,對於第一步,只有三種情況:

之後的每一步,如果一旦向北走,就被轉化為dp

[i−2

],dp

[i−3

];反之如果一路向東,最終就是dp

[0]。

西面的情況和東邊一樣。

據此,可以寫出動態轉移方程:dp

[0]=

1dp[

i]=d

p[i−

1]+2

(∑k=

2idp

[i−k

]+1)

這蘊含著:dp

[0]=

1,dp

[1]=

3dp[

i]=2

dp[i

−1]+

dp[i

−2]由下式可以輕鬆寫出o(

n)程式。

百練4982 踩方格

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

4982 踩方格 動態規劃

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

踩方格(百練 4982 深搜)

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