首页 > 小红的扫雷游戏
头像 keduoli
发表于 2023-11-12 23:12:09
欢迎关注 珂朵莉 牛客周赛专栏 珂朵莉 牛客小白月赛专栏 D. 小红的扫雷游戏 一开始想着,是否可以搞一个方程组 如果确定为雷和非雷,这些是可解的,还有一些不能明确解的。 然后想想,这我也不会呀,重新审视了下数据范围,4*4,还有雷/非雷, 这个0-1特性,所以想到了全枚举状态,然后进行验证。 如 展开全文
头像 quchen666
发表于 2025-11-16 13:24:57
状态枚举,0表示非雷,1表示雷,总共2的16次方种情况,如果出现雷在标数字的点位直接跳过,或者标数字点位周围的雷的数量不对也跳过,否则就是合法的方案,对于sta==1,对点位标记|1,sta==0,点位标记|2,那么,假设这个点最后标记结果为3,就说明这个点可能是雷也可能不是雷,则输出'.',否则就 展开全文
头像 自由的风0450
发表于 2025-11-16 22:49:59
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); char g[4][5]; for (in 展开全文
头像 Kato_Shoko
发表于 2025-11-16 12:48:38
注意到4*4=16,所以直接二进制枚举所有答案,然后存起来最后观察什么点是必须是雷,什么点不必要。然后答案里面对于是雷的,给二进制00变成01,对于不是雷的,二进制00变成10,最后要是二进制数是11,那就是不确定,否则就是确定的,代表所有的情况里面,只要是这个点是1,那么只可能是雷,等于2也同理。 展开全文
头像 czcczz
发表于 2025-11-17 20:30:36
#include<bits/stdc++.h> using namespace std; const int N=6; char mp[N][N]; bool vis[N][N]; bool if_X[N][N]; int num_X[N][N]; int ssum; void dfs 展开全文
头像 DrakUmr
发表于 2025-11-16 18:15:17
观察矩阵只有4*4,每个点两种放法,故一共2^16方案,即二进制枚举所以方案判断这个点放'O'还是'X',都行就是'.' #include<bits/stdc++.h> using namespace std; int dir[8][2] = {{1, 0}, {-1, 0}, {0, 展开全文
头像 小男娘
发表于 2025-11-16 19:38:27
枚举每一种解,检查是否符合条件即可。解最多只有 216=65536 种,检查也只需要检查 16 个格子每个周围至多 9 个格子,效率完全可以接受。 #include <bitset> #include <iostream> #include <array> usi 展开全文

等你来战

查看全部