題目鏈結
問題描述x 國王有乙個地宮寶庫。是 n x m 個格仔的矩陣。每個格仔放一件寶貝。每個寶貝貼著價值標籤。
地宮的入口在左上角,出口在右下角。
小明被帶到地宮的入口,國王要求他只能向右或向下行走。
走過某個格仔時,如果那個格仔中的寶貝價值比小明手中任意寶貝價值都大,小明就可以拿起它(當然,也可以不拿)。
當小明走到出口時,如果他手中的寶貝恰好是k件,則這些寶貝就可以送給小明。
請你幫小明算一算,在給定的局面下,他有多少種不同的行動方案能獲得這k件寶貝。
分析:用d(i,j,cnt,max)描述在(i,j)位置擁有寶物的數量為cnt,擁有寶物的最大值為max。
#include #include const int mod = 1000000007, n = 50+5, k = 20, c =15, dx[2] =, dy[2] =;
int cells[n][n], d[n][n][k][c], n, m, k;
int dp(int x, int y, int cnt,int max)
long long num = 0;
for(int i = 0; i < 2; i++)
} return ans = num%mod;
}int main(int argc, char** ar**)
輸入格式輸入一行3個整數,用空格分開:n m k (1<=n,m<=50, 1<=k<=12)
接下來有 n 行資料,每行有 m 個整數 ci (0<=ci<=12)代表這個格仔上的寶物的價值
輸出格式
要求輸出乙個整數,表示正好取k個寶貝的行動方案數。該數字可能很大,輸出它對 1000000007 取模的結果。
樣例輸入
2 2 2
1 22 1
樣例輸出
樣例輸入
2 3 2
1 2 3
2 1 5
樣例輸出
歷屆試題 地宮取寶
歷屆試題 地宮取寶 時間限制 1.0s 記憶體限制 256.0mb 提交此題 問題描述 x 國王有乙個地宮寶庫。是 n x m 個格仔的矩陣。每個格仔放一件寶貝。每個寶貝貼著價值標籤。地宮的入口在左上角,出口在右下角。小明被帶到地宮的入口,國王要求他只能向右或向下行走。走過某個格仔時,如果那個格仔中...
藍橋杯 歷屆試題 地宮取寶
我本來想dp的 可惜dp不出來 後來才知道是記憶化搜尋 至於那個返回的max 1是因為 本來返回max 的 但是因為一開始代入dfs的引數是 1 所以就要 1 include include const int mod 1000000007 int a 51 51 int dp 51 51 13 1...
藍橋杯 歷屆試題 地宮取寶
問題描述 x 國王有乙個地宮寶庫。是 n x m 個格仔的矩陣。每個格仔放一件寶貝。每個寶貝貼著價值標籤。地宮的入口在左上角,出口在右下角。小明被帶到地宮的入口,國王要求他只能向右或向下行走。走過某個格仔時,如果那個格仔中的寶貝價值比小明手中任意寶貝價值都大,小明就可以拿起它 當然,也可以不拿 當小...