[蓝桥杯][2014年第五届真题]地宫取宝(记忆化搜索)
題目描述
X 國王有一個地宮寶庫。是 n x m 個格子的矩陣。每個格子放一件寶貝。每個寶貝貼著價值標簽。
地宮的入口在左上角,出口在右下角。
小明被帶到地宮的入口,國王要求他只能向右或向下行走。
走過某個格子時,如果那個格子中的寶貝價值比小明手中任意寶貝價值都大,小明就可以拿起它(當然,也可以不拿)。
當小明走到出口時,如果他手中的寶貝恰好是k件,則這些寶貝就可以送給小明。
請你幫小明算一算,在給定的局面下,他有多少種不同的行動方案能獲得這k件寶貝。
輸入
輸入一行3個整數,用空格分開:n m k (1< =n,m< =50, 1< =k< =12)
接下來有 n 行數據,每行有 m 個整數 Ci (0< =Ci< =12)代表這個格子上的寶物的價值
輸出
要求輸出一個整數,表示正好取k個寶貝的行動方案數。該數字可能很大,輸出它對 1000000007 取模的結果。
樣例輸入
2 3 2
1 2 3
2 1 5
樣例輸出
14
思路:像這種取模的操作,就考慮數學,dp,記憶化就可以了,一般逃不過這三種。
對于這個題目,我用的是記憶化搜索。dp[x][y][k][_max]代表的是走到坐標(x,y)時,拿了k件寶物,最大值是_max的方案數,條件限制,每一個坐標必須要考慮拿了多少件、最大值是多少這兩個因素。然后去搜索就可以了,如果遇到處理過的情況就直接返回就可以了。
代碼如下:
努力加油a啊,(o)/~
總結
以上是生活随笔為你收集整理的[蓝桥杯][2014年第五届真题]地宫取宝(记忆化搜索)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2060显卡花屏怎么回事
- 下一篇: Gargari and Permutat