BZOJ 1088 模拟
来源:互联网 发布:冰川网络不败传说官网 编辑:程序博客网 时间:2024/06/06 04:47
题意:现在棋盘是n×2的扫雷游戏,第一列里面某些格子是雷,而第二列没有雷。由于第一列的雷可能有多种方案满足第二列的数的限制,你的任务即根据第二列的信息确定第一列雷有多少种摆放方案。
只要确定了第一行的前两列是什么,后面都可以唯一确定。因此讨论一下即可。
#include <bits/stdc++.h>using namespace std;namespace solver { int n, t[11111], val[11111]; bool check() { for(int i = 2; i < n; i++) { int d = val[i] - t[i-1] - t[i]; if(d != 0 && d != 1) return 0; t[i+1] = d; } if(val[n] != t[n-1] + t[n]) return 0; return 1; } void solve() { scanf("%d", &n); for(int i = 1; i <= n; i++) scanf("%d", &val[i]); int ans = 0; if(val[1] == 1) { memset(t, 0, sizeof t); t[1] = 0, t[2] = 1; ans += check(); memset(t, 0, sizeof t); t[1] = 1, t[2] = 0; ans += check(); } else if(val[1] == 0){ t[1] = t[2] = 0; ans += check(); } else { t[1] = t[2] = 1; ans += check(); } printf("%d\n", ans); }}int main() { solver::solve(); return 0;}
阅读全文
0 0
- BZOJ 1088 水模拟
- BZOJ 1088 模拟
- BZOJ 1088: [SCOI2005]扫雷Mine 模拟
- bzoj 4029 定价|模拟
- [NOI2016模拟5.14]BZOJ
- BZOJ 3680 模拟退火
- BZOJ 3680 模拟退火
- BZOJ 1379 模拟退火
- bzoj 3924 模拟+kmp
- 【BZOJ】2456 mode 模拟
- 模拟退火 BZOJ-3680
- 模拟退火 BZOJ-2428
- BZOJ 1088: [SCOI2005]扫雷Mine 模拟,规律,脑洞
- [BZOJ 2456] mode · 模拟
- BZOJ 1142 [POI2009]Tab 模拟
- 【模拟+贪心】bzoj 1029 麻将
- BZOJ 2667: [cqoi2012]模拟工厂
- bzoj 2241 打地鼠 模拟
- HDU 6108 小C的倍数问题(数学)
- KMP
- log4j初始化和slf4j
- java将经纬度转换为平面坐标
- JDBC
- BZOJ 1088 模拟
- linux--环境变量(linux进程内存管理)
- ConcurrentLinkedQueue 和CountDownLatch 的使用
- android studio使用依赖引入jar的存放位置
- 数列
- redis和hbase可视化工具介绍
- springboot项目部署
- 全球访问无障碍 阿里云直播全球加速正式开放试用
- 利用Cookie显示最近浏览的商品