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

蓝桥杯每日一题20223.9.26

4407. 扫雷 - AcWing题库

题目描述

分析

此题目使用map等都会超时,所以我们可以巧妙的使用哈希模拟散列表,哈希表初始化为-1首先将地雷读入哈希表,找到地雷的坐标在哈希表中对应的下标,如果没有则此地雷的位置第一次出现,将其存入哈希表,di[key]表示哈希数组中key对应的地雷下标,在这些相同位置的地雷中取最大的半径,因为最大的半径炸的范围更多

枚举导弹,如果有地雷,且没有被访问过而且其在爆炸范围之内就可以将其进行bfs

最后遍历每个地雷看是否被标记,被标记就算答案

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int X = 1e9 + 1, M = 1e6 + 7, N = 5e4 + 10;
struct node
{int x, y, r;
}b[N];
ll h[M], id[M], res, n, m;
bool st[N];
ll get_he(int x, int y)//得到每个坐标的哈希值 
{return (ll)x * X + y;
}
int find(int x, int y)//找到坐标被哈希数组储存的下标 
{ll he = get_he(x, y);int key = (he % M + M) % M;//映射哈希数组内 while(h[key] != -1 && h[key] != he){key ++;if(key == M)key = 0;}return key;
}
bool check(int x, int y,int r, int xx, int yy)//判断是否在爆炸范围内 
{int d = (x - xx) * (x - xx) + (y - yy) * (y - yy);return d <= r * r;
}
void bfs(int pos)
{queue<int>q;q.push(pos);st[pos] = true;while(!q.empty()){int t = q.front();q.pop();int x = b[t].x, y = b[t].y, r= b[t].r;for(int xx = x - r; xx <= x + r; xx ++){for(int yy = y - r; yy <= y + r; yy ++){int key = find(xx, yy);//是地雷,没有访问过,能炸到 if(id[key] && !st[id[key]] && check(x, y, r, xx, yy)){int pos = id[key];st[pos] = true;q.push(pos);}}}}
}
int main()
{cin >> n >> m;memset(h, -1, sizeof h);int x, y, r;for(int i = 1; i <= n; i ++)//地雷 {cin >> x >> y >> r;b[i] = {x, y, r};int key = find(x, y);//找到此地雷对应的下标 if(h[key] == -1)h[key] = get_he(x, y);//如果此下标没有出现过就加入 if(!id[key] || b[id[key]].r < r){id[key] = i;}}for(int i = 1; i <= m; i ++)//排雷导弹{cin >> x >> y >> r;for(int xx = x - r; xx <= x + r; xx ++)//在r的范围内,但可以以圆外的方形区域作为边界 {for(int yy = y - r; yy <= y + r; yy ++){int key = find(xx, yy);if(id[key] && !st[id[key]] && check(x, y, r, xx, yy))bfs(id[key]);}}	} for(int i = 1; i <= n; i ++){int key = find(b[i].x, b[i].y);int pos = id[key];if(pos && st[pos])res ++;}cout << res;return 0;
}

相关文章:

蓝桥杯每日一题20223.9.26

4407. 扫雷 - AcWing题库 题目描述 分析 此题目使用map等都会超时&#xff0c;所以我们可以巧妙的使用哈希模拟散列表&#xff0c;哈希表初始化为-1首先将地雷读入哈希表&#xff0c;找到地雷的坐标在哈希表中对应的下标&#xff0c;如果没有则此地雷的位置第一次出现&#…...

查看基站后台信息

查看基站后台信息 电脑配置固定ip: 192.168.1.99: 打开“网络和共享中心”&#xff0c;选择更改适配器设置&#xff1a; 右键“本地连接”&#xff0c;选择属性 基站网线直连电脑网口 Telnet 登录基站 打开dos窗口 windows键R”&#xff0c;输入cmd&#xff0c;点确定&…...

关于坐标的旋转变换和坐标系的旋转变换

不管是坐标的旋转变换还是坐标系下的旋转变换&#xff0c;只和旋转的顺时针和逆时针有关。然坐标系间的顺时针和逆时针是根据当前坐标系在目标坐标系下的相对位置确定。 一。逆时针旋转belta角度的公式 二。顺时针旋转belta角度的公式 三。坐标的旋转变换 1.坐标的旋转变换相…...

2023.9.19 关于 数据链路层 和 DNS 协议 基本知识

目录 数据链路层 MTU DNS 协议 补充 DHCP协议 数据链路层 基本概念&#xff1a; 考虑相邻两个节点之间的传输&#xff08;通过 网线 / 光纤 / 无线 直接相连的两个设备&#xff09;以太网协议 规定了 数据链路层 和 物理层 的内容 IP地址 与 mac地址 的相互配合 IP地址 描…...

如何保证接口幂等性

简介 接口幂等性就是说用户使用相同的参数请求同一个接口无论是一次还是多次都应该是一样的。不会因为多次的点击产生不同效果。 举个栗子&#xff1a;一个用户在手机APP上提200块钱&#xff0c;然后一不小心点击了两次&#xff0c;那么就应该只提取出200块钱&#xff0c;不应…...

搭建智能桥梁,Amazon CodeWhisperer助您轻松编程

零&#xff1a;前言 随着时间的推移&#xff0c;人工智能技术以惊人的速度向前发展&#xff0c;正掀起着全新的编程范式革命。不仅仅局限于代码生成&#xff0c;智能编程助手等创新应用也进一步提升了开发效率和代码质量&#xff0c;极大地推动着软件开发领域的快速繁荣。 当前…...

数组和指针笔试题解析之【指针】

目录 &#x1f342;笔试题1&#xff1a; &#x1f342;笔试题2&#xff1a; &#x1f342;笔试题3&#xff1a; &#x1f342;笔试题4&#xff1a; &#x1f342;笔试题5&#xff1a; &#x1f342;笔试题6&#xff1a; &#x1f342;笔试题7&#xff1a; &#x1f342;笔试题…...

【Linux】之Centos7卸载KVM虚拟化服务

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…...

智能电力运维系统:数字化转型在电力行业的关键应用

随着信息技术、人工智能等的飞速发展&#xff0c;数字化改造已成为各行各业的重要发展趋势。在电力行业中&#xff0c;智能电力运维系统是数字化转型的关键应用之一。 力安科技智能电力运维系统是一种集自动化、智能化、云计算、物联网等先进技术于一体的电力运维管理解决方…...

eslint报错:no-empty-source

问题&#xff1a; 提交代码时&#xff0c;eslint校验没有通过&#xff0c;报错 esc[2m183:9esc[22m esc[31mesc[31m✖esc[39m Unexpected empty source esc[2mno-empty-sourceesc[22m 1 problem (esc[31m1 erroresc[39m, esc[33m0 warnings esc[39m) 原因&#xff1a; …...

图论17(Leetcode864.获取所有钥匙的最短路径)

用二进制表示获得的钥匙&#xff0c;假设n钥匙个数 000000000代表没有钥匙&#xff0c;0000000001代表有idx为1的钥匙&#xff0c;0000000011代表有idx1&#xff0c;2的钥匙 &#xff08;这方法巧妙又复杂.. 代码&#xff1a; class Solution {static int[][] dirs {{-1,0}…...

vue 脚手架 入门 记录

vue 脚手架 入门 记录 以管理员身份运行PowerShell执行&#xff1a;get-ExecutionPolicy&#xff0c;回复Restricted&#xff0c;表示状态是禁止的 3.执行&#xff1a;set-ExecutionPolicy RemoteSigned 4.选择Y 注意&#xff1a;一定要以管理员的身份运行PowerShell&#xff…...

汽车租赁系统演示租车小程序H5开发

一款适合汽车租赁业务的程序系统&#xff0c;支持在线支付、一键续租、在线签名。 为了方便用户端方便租车和查看已租车辆的信息和费用&#xff0c;支持上门取车和到店取车两种模式&#xff0c;支持待付款、待取车、待还车、订单管理、已完成、全部订单等订单状态查看和处理功…...

【MySQL】 MySQL 更新数据机制

MySQL 更新数据机制 一、问题描述 假设我们有这样一张表&#xff0c;且包含一条记录&#xff1a; CREATE TABLE mytest ( id int(11) NOT NULL, c1 int(11) DEFAULT NULL, c2 int(11) DEFAULT NULL, c3 int(11) DEFAULT NULL, PRIMARY KEY (id), KEY c1 (c1), KEY c2 (c2) 包…...

批次管理在MES管理系统中有哪些应用

在制造企业中&#xff0c;批次管理是一项至关重要的管理方法&#xff0c;它贯穿于企业的整个生产过程中。特别是在流程制造行业中&#xff0c;如药品、食品等行业&#xff0c;批次管理显得尤为重要。这些行业的产品通常需要进行严格的质量控制和追踪&#xff0c;以便在问题发生…...

python命名规范

一、概述 以前写python代码没有个代码&#xff0c;写出的代码一点也不规范 二、命名规范 2.1类的命名规范 总是使用首字母大写单词串。如MyClass、ClassName。内部类可以使用额外的前导下划线。 2.2函数和方法的命名规范 小写下划线&#xff0c;如method_name。 2.3函数…...

Redis学习笔记--002

Redis的JAVA客户端 文章目录 Redis的JAVA客户端一、Redis的Java客户端的种类二、Jedis2.1、使用步骤2.2、Jedis连接池 三、[SpringDataRedis](https://spring.io/projects/spring-data-redis)3.1、介绍3.2、RedisTemplate3.3、SpringDataRedis使用步骤3.4、SpringDataRedis的序…...

Visual Stdio 2019 win10 64bit下 无法找到 资源编译器DLL,请确认路径是否正确,和无法下载 win10SDK_10.0

上面的2个原因 第一个原因是因为安装时候&#xff0c;漏掉勾选 vistual stdio sdk 和 windows 通用c运行时 其中的一项目 第2个原因是没有安装 sdk...

设计模式:中介者模式(C++实现)

在中介者模式中&#xff0c;中介者对象负责协调多个对象之间的交互&#xff0c;将对象之间的耦合度降低。 #include <iostream> #include <string> #include <vector>class Colleague;// 中介者接口 class Mediator { public:virtual void sendMessage(Coll…...

Python常用函数

最近跑实验&#xff0c;记录一些常用的 Python 函数&#xff0c;便于自己复习和学习&#xff0c;仅用来学习。 1.Python 中的 os.path.join() 参考该文章 深度了解 在 Python 中&#xff0c;处理文件和目录路径是常见的任务。为了简化路径的拼接和操作&#xff0c;Python 提供…...

【故障诊断】DSCNN-HA-TL:融合Swin窗口注意力和全局注意力机制的变工况轴承故障诊断(迁移学习/小样本)

在工业旋转机械中&#xff0c;滚动轴承是最关键、也最容易发生故障的部件之一。然而&#xff0c;变工况、故障样本稀缺、跨域泛化能力差三大难题&#xff0c;长期制约着故障诊断模型的落地效果。 近期&#xff0c;来自河北工程大学、天津大学等机构的研究团队提出了一种全新的…...

PromptFlow:企业级AI应用编排与全生命周期管理工具详解

1. 项目概述&#xff1a;PromptFlow&#xff0c;一个被低估的AI应用编排利器如果你最近在折腾大语言模型应用&#xff0c;从简单的聊天机器人到复杂的多步推理工作流&#xff0c;大概率会听到“LangChain”、“LlamaIndex”这些名字。它们确实火&#xff0c;社区活跃&#xff0…...

如何用NHSE动物森友会存档编辑器快速打造梦想岛屿:终极完整指南

如何用NHSE动物森友会存档编辑器快速打造梦想岛屿&#xff1a;终极完整指南 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE 还在为《集合啦&#xff01;动物森友会》中收集稀有物品而烦恼吗&#…...

程序员,真要失业了:Claude Code新增/goal指令,一个命令,AI替你干完整个项目

最近&#xff0c;GitHub上发生了一件小事。 一个全美排名Top 5的软件工程师&#xff0c;发了一条帖子&#xff0c;只有三句话&#xff1a; “我用/goal重构了一个3万行的遗留项目&#xff0c;花了4小时。” “没有人盯着我&#xff0c;没有PR被拒&#xff0c;没有半夜爬起来看…...

GitHub平台功能全解析:AI代码创作、安全保障及多场景解决方案助力开发

导航菜单可进行切换导航操作。[ ](/)[ 登录 ](/login?return_tohttps%3A%2F%2Fgithub.com%2Fanthropics%2Fclaude-for-legal)可进行外观设置。平台AI代码创作- [GitHub Copilot&#xff1a;借助AI编写更优质代码](https://github.com/features/copilot)- [GitHub Spark&#x…...

Taotoken 的 Token Plan 套餐如何帮助个人开发者控制预算

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken 的 Token Plan 套餐如何帮助个人开发者控制预算 对于个人开发者或小型工作室而言&#xff0c;在探索和集成大模型能力时&…...

API v2.0 设计规范

API v2.0 设计规范 【免费下载链接】marp-cli A CLI interface for Marp and Marpit based converters 项目地址: https://gitcode.com/gh_mirrors/ma/marp-cli 认证机制 // JWT 认证示例 const token jwt.sign({ userId: user.id },process.env.JWT_SECRET,{ expires…...

面向高校的基于算法的发明专利申请写作方法

发明专利作为国家和高校认可的成果形式之一&#xff0c;其申请和授权一直受到教师和学生们的高度重视&#xff1b;基于算法的发明专利作为发明专利的重要分支&#xff0c;每年都有大量的算法专利被授权或者拒绝。虽然高校的教师对论文写作非常熟悉&#xff0c;但是发明专利的写…...

React极简表单库veyra-forms:轻量级、类型安全的表单状态管理方案

1. 项目概述&#xff1a;一个被低估的轻量级表单解决方案在Web开发的世界里&#xff0c;表单处理是个既基础又麻烦的活儿。从简单的联系表单到复杂的多步骤数据收集&#xff0c;开发者们总是在寻找一个平衡点&#xff1a;既要功能强大、易于集成&#xff0c;又要足够轻量、不拖…...

Hotkey Detective:Windows热键冲突终极解决方案,快速定位“按键劫持“元凶

Hotkey Detective&#xff1a;Windows热键冲突终极解决方案&#xff0c;快速定位"按键劫持"元凶 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mir…...