題目鏈結
解題思路
①、暴力法
利用 dfs 遍歷每一條可能的路徑,將遍歷的權值和不斷取餘。
不足:當 n、m 取較大的情況下,所遍歷的路徑可能會暴增,出現超時的情況。
②、遞推法
從題目上我們可以發現,最終的權值和是要對 mod 取餘的,利用這個特點,我們可以實現遞推。
狀態轉移方程:
dp[i][j][k] | = dp[i-1][j][(k-mg[i][j]+mod)%mod];
dp[i][j][k] | = dp[i][j-1][(k-mg[i][j]+mod)%mod];
原理:在迷宮上,假設已知點(i-1, j)與(i, j-1)所能得到的權值和,那麼我們就能求出點(i, j)所能得到的權力和。
ac**
#include
const
int mod =
1e4+7;
bool dp[
110]
[110][
10010];
int mg[
110]
[110
], ans=0;
intmain()
dp[1]
[1][mg[1]
[1]]
=true
;for
(int i=
1; i<=n; i++
)for
(int j=
1; j<=m; j++
)for
(int k=
0; k
)for
(int i=
0; i
(dp[n]
[m][i]
) ans++
;printf
("%d"
, ans)
;return0;
}
遞推訓練(基礎演算法)
題目 於杭電oj problem description 人稱 ac女之殺手 的超級偶像lele最近忽然玩起了深沉,這可急壞了眾多 cole lele的粉絲,即 可樂 經過多方打探,某資深cole終於知道了原因,原來,lele最近研究起了著名的rpg難題 有排成一行的 個方格,用紅 red 粉 pi...
程式設計題走迷宮 C 程式演算法題 迷宮(一)
題目 一天蒜頭君掉進了乙個迷宮裡面,蒜頭君想逃出去,可憐的蒜頭君連迷宮是否有能逃出去的路都不知道。看在蒜頭君這麼可憐的份上,就請聰明的你告訴蒜頭君是否有可以逃出去的路。輸入格式 第一行輸入兩個整數 n和 m,表示這是乙個 n m的迷宮。接下來的輸入乙個 n行 m列的迷宮。其中 s 表示蒜頭君的位置,...
基礎演算法之遞推法
一.倒推法 例1 儲油點 每次送油到儲存點,因為每次從n 1處出發至n處時都是攜帶500公升油,往返次數越少說明花掉的油最少。int main int k,d k為儲油點位置序號,d為累計終點至當前儲油點的距離 int oil 10 dis 10 儲油點的油量和離終點的距離 int i 輔助變數 k...