思路 :設d[i][j][k][l] 為 第i個位置還有j個炸彈未放置,且(1, i)的位置有k個雷,(3,i)的位置有l個雷,0 <= k, l <= 1時的方案總數,那麼i - 1個位置還剩str[i - 1] - '0'-k-l個雷未放置,再按當前剩餘j - k - l個未放置的類在i - 1的位置上放置
#include#include#include#includetypedef long long ll;
const int maxn = 1e4 + 10;
const int inf = 1e9;
const int mod = 1e8 + 7;
using namespace std;
int t;
char s[maxn];
ll d[maxn][7][2][2];
ll dfs(int i, int j, int up, int down)
int main()
ll ans = 0;
if(sign) }}
printf("%lld\n", ans);
}return 0;
}
HDU 5965 掃雷 線性遞推
給乙個3 n的矩陣,第一行和第三行可能會有地雷,第二行沒有地雷,第二行每個格仔上都有1個數,表示在以該格仔為中心的九宮格中一共有幾個地雷。給出第二行每個格仔上的數字,問安放地雷的方案。乍一看不會。然後再仔細想想,可以發現第一列的地雷數量決定了第二列的地雷數量,而第一列和第二列的數量決定了第三列的數量...
HDU 5965 掃雷(dp 遞推)
傳送門 掃雷遊戲是晨晨和小璐特別喜歡的智力遊戲,她倆最近沉迷其中無法自拔。該遊戲的介面是乙個矩陣,矩陣中有些格仔中有乙個地雷,其餘格仔中沒有地雷。遊戲中,格仔可能處於己知和未知的狀態。如果乙個己知的格仔中沒有地雷,那麼該 格仔上會寫有乙個一位數,表示與這個格仔八連通相鄰的格仔中地雷總的數量。現在,晨...
hdu5965掃雷(列舉 動態規劃)
原題鏈結 題目大意 給你n組資料,每組表示3 m的掃雷格仔的最中間一格的情況,現不知道第一行和第三行的情況位置,要求你求出滿足給定序列數字,在第一行和第三行放雷的情況有多少種。題解 dp 遞推列舉 我們可以知道第一列的情況最多三種 0,1,2表示第一列放雷的個數。然後從第二列往後遞推,dp i 表示...