当前位置: 首页 > news >正文

蓝桥杯每日一题:扫雷

题目来源:第十三届蓝桥杯软件赛省赛 B组

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

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

输入 : 输入的第一行包含两个整数 n n n , m m m

第 2 行 到 第 n + 1 n + 1 n+1 行每行包含 m m m 个整数, 相邻整数之间用一个空格分隔. 如果对应的整数为 0 , 表示这一格没有地雷, 如果对应的整数为 1 , 表示这一格有地雷

其中, 1 ≤ n , m ≤ 100 1 \le n, m \le 100 1n,m100

输出 : 输出 n n n 行, 每行 m m m 个整数, 相邻整数之间用空格分隔

对于没有地雷的方格, 输出这格周围的地雷数量. 对于有地雷的方格, 输出 9

Input Sample :

3 4
0 1 0 0
1 0 1 0
0 0 1 0

Output Sample :

2 9 2 1
9 4 9 2
1 3 9 2

简单的爆搜题, 非常简单, 而且其实这道题就是爆搜的模板题. 有系统练习过的话直接秒ac

蓝桥杯居然还把它的难度评为 “困难” , 有点搞笑了

下面给出题解代码, 请注重思考, 不要无脑cv

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n, m;
const int maxn = 101;
int dx[8] = {-1, -1, 0, 1, 1, 1, 0, -1};
int dy[8] = {0, 1, 1, 1, 0, -1, -1, -1};
int a[maxn][maxn], res[maxn][maxn];void io() {cin.tie(0);cout.tie(0);ios::sync_with_stdio(false);
}int dfs(int x, int y) {if (a[x][y] == 1) {return 9;}int cnt = 0;for (int i = 0; i < 8; i++) {int xx = x + dx[i];int yy = y + dy[i];if (xx >= 1 && xx <= n && yy >= 1 && yy <= m && a[xx][yy] == 1) {cnt++;}}return cnt;
}int main() {io();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++) {res[i][j] = dfs(i, j);}}for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {cout << res[i][j] << ' ';}cout << '\n';}return 0;
}

相关文章:

蓝桥杯每日一题:扫雷

题目来源&#xff1a;第十三届蓝桥杯软件赛省赛 B组 在一个 n n n 行 m m m 列 的方格图中有些位置有地雷, 另外一些位置为空 请为每个空位置标一个整数, 表示周围八个相邻的方格中有多少个地雷 输入 : 输入的第一行包含两个整数 n n n , m m m 第 2 行 到 第 n 1 n 1 n…...

net core API 后台系统操作日志的实现思路

net core API 后台系统操作日志的实现思路 系统操作日志的实现思路主要问题不在于写日志和表结构设计上。 主要问题在识别出哪些数据做了修改。并生成日志。 表中数据列众多,且要监控多个表。如果要监控的每个表都去写代码去监控和转换这样的工作量就会比较大。 如,用户表…...

ORACLE 知识整理

目录 一. 插入指定数量的数据二. 索引2.1 创建索引2.2 删除索引 三. 查询计划四. Oracle SQLPlus常用设置五. 增加删除字段 一. 插入指定数量的数据 ⏹当需要向表中插入若干测试数据的时候&#xff0c;可通过下面这种方式造数据 先从DUAL虚拟表中检索后造出10000条数据后&…...

业务服务:redisson

文章目录 前言一、配置1. 添加依赖2. 配置文件/类3. 注入redission3. 封装工具类 二、应用1. RedisUtils工具类的基本使用 三、队列1. 工具类2. 普通队列3. 有界队列&#xff08;限制数据量&#xff09;4. 延迟队列&#xff08;延迟获取数据&#xff09;5. 优先队列&#xff08…...

面试算法-100-零钱兑换

题目 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1 。 你可以认为每种硬币的数量是无限的…...

【Leetcode每日一题】 动态规划 - 使用最小花费爬楼梯(难度⭐)(41)

1. 题目解析 题目链接&#xff1a;746. 使用最小花费爬楼梯 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 一、设定状态表 为了解决这个问题&#xff0c;我们首先要明确一个“状态表”。这个状态表其实就是一个记录…...

Springboot旅游管理系统设计与实现

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一、研究背景…...

c++学习笔记(10)

1. 二分答案是一种常用的算法思想&#xff0c;用于解决一些需要枚举所有可能答案的问题。它的基本思想是将问题的答案范围缩小到一半&#xff0c;然后根据一定的条件判断&#xff0c;再将答案范围缩小到一半&#xff0c;直到找到正确的答案或者确定不存在正确答案为止。 下面…...

Visual Studio - 添加快捷键图标

Visual Studio - 添加快捷键图标 1. Text Editor Toolbar Options -> Add or Remove Buttons -> Customize2. Toolbars3. Commands -> Debug4. Add Command...References 1. Text Editor Toolbar Options -> Add or Remove Buttons -> Customize 2. Toolbars B…...

突破边界:Web3开启数字化社会的新纪元

引言 随着科技的不断进步和数字化社会的发展&#xff0c;Web3正逐渐成为了人们关注的焦点。作为新一代互联网的演进形态&#xff0c;Web3具有突破传统边界、实现去中心化的特点&#xff0c;被认为将开启数字化社会的新纪元。本文将深入探讨Web3的概念、特点、应用场景&#xf…...

docker仓库登录及配置insecure-registries的方法

docker仓库登录及配置insecure-registries的方法 这篇文章主要介绍了docker仓库登录配置insecure-registries的方法,docker客户端如果配置中添加了insecure-registary配置&#xff0c;就不需要在docker 客户端配置上对应证书&#xff0c;如果不配置要在/etc/docker/certs.d/目…...

Lambda函数与Selenium WebDriverWait类一起使用

Lambda函数是一种匿名函数&#xff0c;也称为内联函数或者lambda表达式。它们在Python中用于创建简短的、一次性的函数。Lambda函数通常用于在代码中传递函数作为参数&#xff0c;或者在需要一个简单的函数&#xff0c;但不想正式定义一个函数的情况下使用。 Lambda函数的特点…...

V R元宇宙平台的未来方向|V R主题馆加 盟|游戏体验馆

未来&#xff0c;VR元宇宙平台可能会呈现出以下发展趋势和可能性&#xff1a; 全面融合现实与虚拟世界&#xff1a; VR元宇宙平台将更加无缝地融合现实世界和虚拟世界&#xff0c;用户可以在虚拟环境中进行各种活动&#xff0c;与现实世界进行互动&#xff0c;并且体验到更加逼…...

sox命令用法

play input.wav 播放音频 sox input.wav -n stat 查看音频文件信息 soxi input.wav 查看音频文件信息input sox input.wav -n stat -v 不失真最大调整量 sox -v 0.8 input.wav output.wav 调整音量0.8,&#xff08;大于1为扩大&#xff0c;小于1为缩小&#xff09; sox *.wav *…...

Android kotlin全局悬浮窗全屏功能和锁屏页面全屏悬浮窗功能二

1.前言 在进行app应用开发中,在实现某些功能中要求实现悬浮窗功能,分为应用内悬浮窗 ,全局悬浮窗和 锁屏页面悬浮窗功能 等,接下来就来实现这些悬浮窗全屏功能,首选看下第二部分功能实现 2.kotlin实现锁屏页面悬浮窗全屏功能二分析 悬浮窗是属于Android系统的一种浮动窗…...

[数据结构]二叉树与递归OJ

上回我们手撕了一棵二叉树,并且通过递归完成了遍历,这回我们将深入理解用递归解决相关的二叉树问题,数量使用分治的思想. 上回的代码: #include<stdio.h> #include<stdlib.h> typedef struct BinTreeNode {struct BinTreeNode* left;struct BinTreeNode* right;i…...

vue iframe实现父页面实时调用子页面方法和内容,已解决

父页面标签添加鼠标按下事件 父页方法中建立iframe通信 实时调用子页面方法 实时更改子页面文本内容...

Spring Cloud Gateway教程

1 微服务网关概述 Spring Cloud Gateway是在 Spring 生态系统之上构建的API网关服务&#xff0c;旨在为微服务架构应用提供一种简单有效的统一的API路由管理方式。 Spring Cloud Gateway主要功能&#xff1a; 反向代理认证鉴权流量控制熔断日志监控 2 Spring Cloud Gateway三…...

解码新时代内存架构:探秘数据在内存中的灵动驻足

欢迎来到白刘的领域 Miracle_86.-CSDN博客 系列专栏 C语言知识 先赞后看&#xff0c;已成习惯 创作不易&#xff0c;多多支持&#xff01; 随着信息技术的飞速发展&#xff0c;我们身处一个数据爆炸的时代。数据的处理和存储方式正日益成为技术革新的重要领域。在新时代的…...

前端基础篇-前端工程化 Vue 项目开发流程(环境准备、Element 组件库、Vue 路由、项目打包部署)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 环境准备 1.1 安装 NodeJs 1.2 验证 NodeJs 环境变量 1.3 配置 npm 的全局安装路径 1.4 切换 npm 的淘宝镜像( npm 使用国内淘宝镜像的方法(最新) ) 1.5 查看镜像…...

CefFlashBrowser终极指南:5个步骤让Flash内容在现代系统重生

CefFlashBrowser终极指南&#xff1a;5个步骤让Flash内容在现代系统重生 【免费下载链接】CefFlashBrowser Flash浏览器 / Flash Browser 项目地址: https://gitcode.com/gh_mirrors/ce/CefFlashBrowser 当Adobe在2020年正式终止Flash Player支持时&#xff0c;无数经典…...

GHelper:如何用10MB工具取代臃肿的华硕控制中心?

GHelper&#xff1a;如何用10MB工具取代臃肿的华硕控制中心&#xff1f; 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Str…...

CYBER-VISION零号协议在STM32F103C8T6最小系统板开发中的实战指南

CYBER-VISION零号协议在STM32F103C8T6最小系统板开发中的实战指南 如果你手头正好有一块经典的“蓝板子”——STM32F103C8T6最小系统板&#xff0c;想用它做点东西&#xff0c;但又觉得从零开始配置寄存器、调试外设有点头疼&#xff0c;那这篇文章就是为你准备的。我们今天要…...

从零搭建插件化框架:understand-plugin-framework架构设计思路

从零搭建插件化框架&#xff1a;understand-plugin-framework架构设计思路 【免费下载链接】understand-plugin-framework demos to help understand plugin framwork 项目地址: https://gitcode.com/gh_mirrors/un/understand-plugin-framework 插件化框架是Android开发…...

终极指南:SeetaFaceEngine未来展望与人脸识别技术发展趋势分析

终极指南&#xff1a;SeetaFaceEngine未来展望与人脸识别技术发展趋势分析 【免费下载链接】SeetaFaceEngine 项目地址: https://gitcode.com/gh_mirrors/se/SeetaFaceEngine SeetaFaceEngine作为开源人脸识别引擎的标杆&#xff0c;为开发者提供了从人脸检测、关键点定…...

【 Postman 使用教程】

一、接口测试介绍 1. 接口分类&#xff1a; 内部接口&#xff1a;系统内部各功能模块之间的接口&#xff08;测试比较详细&#xff09;外部接口&#xff1a;系统与外部系统之间的接口&#xff08;测试基本功能&#xff09; 2. 接口测试的重点&#xff1a; 测试接口数据交换是否…...

Harbor容器镜像仓库详解:从入门到实践

随着容器技术的快速发展&#xff0c;企业对于容器镜像管理的需求日益增长。Harbor作为云原生计算基金会(CNCF)的毕业项目&#xff0c;为企业提供了安全可靠的容器镜像仓库解决方案。本文将全面介绍Harbor的核心功能、部署方法以及实际应用场景。 Harbor概述 Harbor是一个开源的…...

STM32串口通信优化:环形队列防数据丢失方案

1. STM32 串口数据接收的痛点与环形队列解决方案在嵌入式开发中&#xff0c;串口通信是最基础也最常用的外设之一。但新手常会遇到这样的问题&#xff1a;当大量数据快速涌入时&#xff0c;传统的串口接收方式很容易丢失数据。我曾经在一个工业传感器项目中就吃过这个亏——传感…...

OpenClaw私人写作助手:Qwen3.5-9B实现从大纲到成稿全自动

OpenClaw私人写作助手&#xff1a;Qwen3.5-9B实现从大纲到成稿全自动 1. 为什么需要AI写作助手 作为一个技术博客作者&#xff0c;我每天要处理大量文字工作。从选题构思、大纲搭建到初稿撰写和格式调整&#xff0c;传统写作流程中充斥着重复性劳动。最痛苦的是灵感枯竭时面对…...

电机类型详解与选型维护指南

1. 电机基础概念解析电机作为现代工业的核心动力装置&#xff0c;其重要性不言而喻。简单来说&#xff0c;电机就是通过电磁感应原理实现电能与机械能相互转换的设备。想象一下&#xff0c;它就像一个能量翻译官&#xff0c;把电这种看不见的能量形式&#xff0c;翻译成我们看得…...