【BZOJ1088】[SCOI2005]扫雷Mine【枚举】【分类讨论】

来源:互联网 发布:软件流量是什么 编辑:程序博客网 时间:2024/05/17 09:36

发现前两格就可以确定以后的状态了。


枚举前两格状态,判断是否可行。


/* Footprints In The Blood Soaked Snow */#include <cstdio>typedef short int sint;const int maxn = 10005;int n;sint a[maxn], f[maxn];inline int iread() {int f = 1, x = 0; char ch = getchar();for(; ch < '0' || ch > '9'; ch = getchar()) f = ch == '-' ? -1 : 1;for(; ch >= '0' && ch <= '9'; ch = getchar()) x = x * 10 + ch - '0';return f * x;}inline bool check() {for(int i = 3; i <= n; i++) {f[i] = a[i - 1] - f[i - 1] - f[i - 2];if(f[i] < 0) return 0;}return f[n - 1] + f[n] == a[n];}int main() {n = iread();for(int i = 1; i <= n; i++) a[i] = iread();int ans = 0;if(a[1] == 0) {f[1] = f[2] = 0;ans += check();} else if(a[1] == 1) {f[1] = 1; f[2] = 0;ans += check();for(int i = 1; i <= n; i++) f[i] = 0;f[1] = 0; f[2] = 1;ans += check();} else {f[1] = f[2] = 1; ans += check();}printf("%d\n", ans);return 0;}


0 0
原创粉丝点击