[BZOJ1088/Luogu2327][SCOI2005]掃雷Mine
阿新 • • 發佈:2018-12-30
amp 數學題 n) scoi2005 時間 php zoj bzoj return
題目鏈接:
BZOJ1088
Luogu2327
第一眼看去:\(DP\)?數學題?
手玩幾組小數據,發現第一列只要有一個確定,那麽其他的也隨之確定。
所以說,令第一個格子分別為有/無雷,往下遞推一遍,判斷是否有解即可。
時間復雜度 \(O(n)\)
#include <cstdio> #include <algorithm> int n,a[10005],b[10005]; bool Check(int v) { b[1]=v; for(int i=2;i<=n;++i) { b[i]=a[i-1]-b[i-1]-b[i-2];//求出雷數 if(b[i]<0||b[i]>1)return false;//不符合要求 } return a[n]==b[n-1]+b[n]; } int main() { scanf("%d",&n); for(int i=1;i<=n;++i)scanf("%d",&a[i]); printf("%d\n",Check(0)+Check(1)); return 0; }
[BZOJ1088/Luogu2327][SCOI2005]掃雷Mine