扫雷 【搜索,哈希】

9.扫雷 - 蓝桥云课 (lanqiao.cn)

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+100;
int n,m,res=0;
struct pt{int x,y,r;
};
typedef pair<int,int> pii;
map <pii,int> a;//炸雷的map,键是x,y,值是r
map <pii,int> b;//排雷火箭的map,键是x,y,值是r
map <pii,int> cnt;//炸雷数量的map,键是x,y,值是炸雷数量cnt
queue <pt> q;void bfs()
{while(!q.empty()){auto t=q.front();q.pop();int tx=t.x,ty=t.y,tr=t.r;for(int i=tx-tr;i<=tx+tr;i++){for(int j=ty-tr;j<=ty+tr;j++){int dx=tx-i;int dy=ty-j;if(dx*dx+dy*dy>tr*tr||cnt[{i,j}]==0)//范围外的或者数量为0的continue;res+=cnt[{i,j}];//该坐标雷的数量cnt.erase({i,j});//被引爆了的删掉该坐标q.push((pt){i,j,a[{i,j}]});//被引爆的雷入队}}}
}
signed main()
{ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);cin>>n>>m;for(int i=1;i<=n;i++){int x,y,r;cin>>x>>y>>r;a[{x,y}]=max(a[{x,y}],r);//相同坐标记录半径大的cnt[{x,y}]++;}for(int i=1;i<=m;i++){int x,y,r;cin>>x>>y>>r;b[{x,y}]=max(b[{x,y}],r);//相同坐标记录半径大的}for(auto i:b)//排雷火箭都入队{q.push((pt){i.first.first,i.first.second,i.second});}bfs();cout<<res;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/623573.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索Python中的生成器:让数据流动起来

文章目录 1. 生成器1.1 基础1.2 工作原理1.3 表达式1.4 高级应用 2. 生成器是不是相当于函数中的return3. 生成器为什么叫yield 在Python面试中&#xff0c;深入了解生成器是关键。这一特性通过延迟计算优化内存使用&#xff0c;广泛应用于数据流处理和异步编程&#xff0c;对提…

常用WEB测试用例

1、登录 ①用户名和密码都符合要求&#xff08;格式上的要求&#xff09; ②用户名和密码都不符合要求&#xff08;格式上的要求&#xff09; ③用户名符合要求&#xff0c;密码不符合要求&#xff08;格式上的要求&#xff09; ④密码符合要求&#xff0c;用户名不符合要求…

Spring开发:动态代理的艺术与实践

1. 背景 动态代理是一种强大的设计模式&#xff0c;它允许开发者在运行时创建代理对象&#xff0c;用于拦截对真实对象的方法调用。这种技术在实现面向切面编程&#xff08;AOP&#xff09;、事务管理、权限控制等功能时特别有用&#xff0c;因为它可以在不修改原有代码结构的前…

【Android】重温Activity生命周期

前言 Android中用得最多的组件是Activity&#xff0c;而它的生命周期也是最基础的知识&#xff0c;从刚接触Android到工作中会频繁依赖这部分知识。可能大多数人能说出页面新建到页面关闭会走的生命周期&#xff1a;onCreate、onStart、onResume、onPause、onStop、onDestory&…

汽车车灯用肖特基二极管,选什么型号好?

肖特基二极管种类繁多&#xff0c;有低压降肖特基二极管、通用型肖特基二极管、快速恢复型肖特基二极管、高功率肖特基二极管、汽车级肖特基二极管等等&#xff0c;其中低压降肖特基二极管和汽车级肖特基二极管是二极管厂家东沃电子的核心优势产品。关于东沃电子推出的低压降肖…

HarmonyOS开发案例:【智能煤气检测】

样例简介 智能煤气检测系统通过实时监测环境中烟雾浓度&#xff0c;当一氧化碳浓度超标时&#xff0c;及时向用户发出警报。在连接网络后&#xff0c;配合数字管家应用&#xff0c;用户可以远程配置智能煤气检测系统的报警阈值&#xff0c;远程接收智能煤气检测系统报警信息。…

浅尝 express + ORM框架 prisma 的结合

一、prisma起步 安装&#xff1a; npm i prisma -g查看初始化帮助信息&#xff1a; prisma init -h查看初始化帮助信息结果&#xff1a; Set up a new Prisma projectUsage$ prisma init [options] Options-h, --help Display this help message --datasource-provider …

华为配置路由式Proxy ARP示例

配置路由式Proxy ARP示例 组网图形 图1 配置路由式Proxy ARP组网图 路由式Proxy ARP简介配置注意事项组网需求配置思路操作步骤配置文件 路由式Proxy ARP简介 企业内部进行子网划分时&#xff0c;可能会出现两个子网网络属于同一网段&#xff0c;但是却不属于同一物理网络的情…

思维导图ai生成软件分享5款好用的!

思维导图ai生成软件分享5款好用的&#xff01; 在快节奏的信息时代&#xff0c;思维导图作为一种有效的思维整理工具&#xff0c;越来越受到人们的青睐。它能够将复杂的思维过程可视化&#xff0c;帮助我们更好地梳理思路、规划工作。近年来&#xff0c;随着人工智能技术的飞速…

云仓酒庄《综合品酒师》中国酒类行业发展在国际舞台上的新篇章

近日&#xff0c;云仓酒庄盛大举办的《综合品酒师》培训活动圆满落下帷幕&#xff0c;其规模盛大&#xff0c;参与人数众多&#xff0c;成功刷新了大世界基尼斯纪录&#xff0c;这一壮举不仅在国内酒类培训领域掀起了一股热潮&#xff0c;更在国际舞台上引起了广泛关注。 大世界…

Redis的IO模型 和 多线程问题

Redis中的线程和IO模型 什么是Reactor模式 &#xff1f;单线程Reactor模式流程单线程Reactor&#xff0c;工作者线程池多Reactor线程模式 Redis中的线程和IO概述socketI/O多路复用程序文件事件分派器文件事件处理器文件事件的类型总结 多线程问题1. Redis6.0之前的版本真的是单…

适合小家电水箱液位检测的方法有哪些

如今随着智能化的发展&#xff0c;越来越多的小家电走进我们的生活&#xff0c;像制冰机、加湿器、咖啡机、饮水机等家电&#xff0c;在这些小家电中都会有一个水箱&#xff0c;在这些应用中都要用到液位检测功能&#xff0c;那么适合小家电水箱液位检测方法有哪些呢&#xff1…