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;
}
相关推荐
溟有常青木1 天前
Jupyter notebook学习容易忘的点
学习·jupyter
大虫刷题1 天前
华为认证(HCIP-AI)五大分类,有何区别及学习难度和从事职业方向
人工智能·学习
2301_803554521 天前
三大编程语言(Python/Go/C++)项目启动全解析
c++·python·golang
wunaiqiezixin1 天前
MyString类的常见面试问题
c++·面试
鱼鳞_1 天前
Java学习笔记_Day22
java·笔记·学习
会编程的土豆1 天前
【数据结构与算法】 拓扑排序
数据结构·c++·算法
今天又是充满希望的一天1 天前
C++分布式系统知识
开发语言·c++
zth4130211 天前
SegmentSplay‘s Super STL(v2.2)
开发语言·c++·算法
AI_零食1 天前
Flutter 框架跨平台鸿蒙开发 - 鸿蒙麻将游戏应用
学习·flutter·游戏·华为·交互·harmonyos
17(无规则自律)1 天前
DFS连通域统计:岛屿数量问题及其变形
c++·算法·深度优先