【蓝桥杯每日一题】扫雷——暴力搜索

扫雷

蓝桥杯每日一题 2024-12-20 扫雷 暴力搜索

题目大意

在一个 n 行 m 列的方格图上有一些位置有地雷,另外一些位置为空。

请为每个空位置标一个整数,表示周围八个相邻的方格中有多少个地雷。

解题思路

今天算是水了一道暴力搜索题,还是接着滚回去写线段树吧!

这个题直接搜就行了,只有100 的数据量,还要什么bike

Accepted
cpp 复制代码
#include <iostream>

using namespace std;
const int N = 110;
int a[N][N],b[N][N];
int n,m;
int dx[8] = {-1,-1,-1,0,1,1,1,0};
int dy[8] = {-1,0,1,1,1,0,-1,-1};

void bfs(int x,int y) {
    int k = 0;
    for(int i = 0;i < 8;i++) {
        int xx = dx[i] + x,yy = dy[i] + y;
        if(xx >= 1 && xx <= n && yy >= 1 && y <= m && a[xx][yy]) {
            k ++;
        }
    }
    if(a[x][y]) {
        b[x][y] = 9;
    } else {
        b[x][y] = k;
    }
}

int main()
{
    cin>>n>>m;
    for(int i = 1;i <= n;i++) {
        for(int j = 1;j <= m;j++) {
            cin>>a[i][j];
        }
    }

    for(int i = 1;i <= n;i++) {
        for(int j = 1;j <= m;j++) {
            bfs(i,j);
        }
    }

    for(int i = 1;i <= n;i++) {
        for(int j = 1;j <= m;j++) {
            cout<<b[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
}
相关推荐
HPtiger6 小时前
数据结构——选择排序
数据结构·算法·排序算法
康实训7 小时前
老年评估仿真实训平台架构设计与老年人能力评估实训室教学落地实践
大数据·人工智能·算法·实训室·实训室建设
DongQiShanRen7 小时前
六根硬件映射(四):归属澄清、两处不一致与卷十一总表
开发语言·人工智能·算法·rust·哈希算法·集成学习
CCblandy7 小时前
雪花 ID 四个边界实测:时钟回拨重号 500 个,前端 JSON.parse 直接丢精度
后端·python·算法·性能优化·架构
丑梨数据7 小时前
信创环境里跑文档工具:格式兼容与本地合规的几个坑
数据结构·人工智能·算法·决策树·排序算法
erzong2319 小时前
Linux操作系统:线程概念与控制
linux·算法
Nil20810 小时前
leetcode 5最长回文子串
算法·leetcode·职场和发展
xxwl58510 小时前
区域赛分类题解
c++·笔记·学习·算法
m0_6745719710 小时前
力扣 hot 100 python
python·算法·leetcode
青少儿编程课堂10 小时前
蓝桥杯+全国青少年信息素养大赛+电子学会PythonC/C++考级:最长公共子序列LCS解析
c++·python·算法·bfs·信息学竞赛