10| 扫雷

一、核心思路

本题通过枚举雷的初始状态(有雷/无雷),从而递推出雷的分布,同时检验雷的合法性。

二、细节注意

每个位置雷的状态只可能是1或0。

对于n+1位置处,没有雷。

三、代码实现

cpp 复制代码
const int N = 1e4 + 10;
int a[N], b[N];
int main()
{
	int n; cin >> n;
	int cnt = 0;
	for (int i = 1; i <= n; i++) cin >> b[i];
	for (int j = 0; j <= 1; j++)
	{
		a[1] = j;
		bool flag = true;
		for (int i = 1; i <= n; i++)
		{
			a[i+1] = b[i] - a[i] - a[i-1];
			if (a[i] < 0 || a[i] > 1)  
			{
				flag = false;
				break;
			}
		}
		if (flag && a[n+1] == 0) cnt++;
	 } 
	 cout << cnt << endl;
	return 0;
}
相关推荐
tjl521314_216 分钟前
01C++ 分离编译与多文件编程
前端·c++·算法
cany10007 分钟前
C++ -- 泛型编程
java·开发语言·c++
格林威9 分钟前
面阵相机 vs 线阵相机:堡盟与海康相机选型差异全解析 附C++ 实战演示
开发语言·c++·人工智能·数码相机·计算机视觉·视觉检测·工业相机
Nice_Fold15 分钟前
Kubernetes探针机制与Deployment控制器(自用笔记)
笔记·容器·kubernetes
样例过了就是过了24 分钟前
LeetCode热题100 单词拆分
c++·算法·leetcode·动态规划·哈希算法
memoryjs25 分钟前
鸿蒙系统进一步学习(二):ArkUI底层原理揭秘
学习·华为·harmonyos
王老师青少年编程39 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【跳跃与过河问题】:跳跳!
c++·算法·贪心·csp·信奥赛·跳跃与过河问题·跳跳
燐妤40 分钟前
前端HTML编程2:深入学习表单与表格
前端·学习·html5
王老师青少年编程41 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【跳跃与过河问题】:独木桥
c++·算法·贪心·csp·信奥赛·跳跃与过河问题·独木桥
无敌秋43 分钟前
# C++ 工厂方法模式实战指南
开发语言·c++·设计模式